当前位置: 首页 > news >正文

NO.18十六届蓝桥杯备战|循环嵌套|乘法表|斐波那契|质数|水仙花数|(C++)

循环嵌套

循环嵌套的使⽤

while , do while , for ,这三种循环往往会嵌套在⼀起才能更好的解决问题,就是我们所说的:循环嵌套。这三种循环都可以任意嵌套使⽤
⽐如
写⼀个代码,打印⼀个乘法⼝诀表

1*1= 1  
1*2= 2 2*2= 4  
1*3= 3 2*3= 6 3*3= 9  
1*4= 4 2*4= 8 3*4=12 4*4=16
1*5= 5 2*5=10 3*5=15 4*5=20 5*5=25  
1*6= 6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36  
1*7= 7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49  
1*8= 8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64  
1*9= 9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
  1. 打印的内容是分为9⾏的,第1⾏打印1项,第2⾏打印2项,第3⾏打印3项,以此类推,第9⾏打印9项。
  2. 每⼀⾏的信息,每⼀项的第⼀个乘数和列号是⼀致的,每⼀项的第⼆个乘数和⾏号是⼀致的,两个乘数的积就是第三个数。
  3. 打印9⾏,我们可以使⽤循环解决,总共循环9次,每次进⼊循环打印⼀⾏,循环变量使⽤ i 来控制, i 从1开始,循环到9
  4. 打印⼀⾏。第 i ⾏是有 i 项组成的,这 i 项的打印也可以写成循环来完成。使⽤循环变量 j , j 从1开始,⼀致循环到 i ,正好循环 i 次,正好打印 i 项。同时每⼀⾏打印完后还要换⾏。
  5. 输出的效果中,i*j的结果如果是2位数,才有右对⻬,不够2位数的情况,使⽤空格补⻬。所以这⾥就得使⽤ %2d 这样的输出格式控制了。
#include <iostream>
using namespace std;
#include <cstdio>int main()
{for (int i = 1; i <= 9; i++){for (int j = 1; j <= i; j++){printf("%d*%d=%2d ", j, i, j * i);}cout << endl;}return 0;
}

练习

乘法表
#include <iostream>
using namespace std;
#include <cstdio>int main()
{for (int i = 1; i <= 9; i++){for (int j = 1; j <= i; j++){printf("%d*%d=%2d ", j, i, j * i);}cout << endl;}return 0;
}

像题⽬要求的这种情况,就得使⽤两层循环嵌套来解决,外层循环负责控制打印⼏⾏,内部循环负责控制每⼀⾏打印⼏项。

包含数字9的数
#include <iostream>
using namespace std;int main()
{int cnt = 0;for (int i = 1; i <= 2019; i++){int n = i;while (n){if (n % 10 == 9){cnt++;break;}n /= 10;}}cout << cnt << endl;return 0;
}

在多层嵌套的循环中也可以使⽤break,但是要注意,⼀个break只能跳出⾃⼰所在的循环,⽆法⼀次性跳出所有的循环

B2064 斐波那契数列
#include <iostream>
using namespace std;int n;int main()
{cin >> n;int a = 0;while (n--){cin >> a;int i = 1, j = 1, k = 1;while (a >= 3){k = i + j;i = j;j = k;a--;}cout << k << endl;}return 0;
}
B2079 求出 e 的值
#include <iostream>
#include <cstdio>
using namespace std;int n;int main()
{cin >> n;double e = 1;for (int j = 1; j <= n; j++){long long x = 1;for (int i = 1; i <= j; i++){x *= i;}e += 1.0 / x;}printf("%.10f", e);return 0;
}
#include <iostream>  
using namespace std;  
int main()  
{  int n = 0;  cin >> n;  int i = 1;  double e = 1;  long long fac = 1;  while (i <= n)  {  fac *= i;  e += 1.0 / fac;  i++;  }  printf("%.10lf\n", e);  return 0;  
}
三角形
#include <iostream>
using namespace std;int n;int main()
{cin >> n;for (int i = 1; i <= n; i++){for (int j = 1; j <= i; j++){cout << "*";}cout << endl;}return 0;
}
B2083 画矩形

![[Pasted image 20250214192601.png]]

#include <iostream>
using namespace std;int a, b, f;
char c;int main()
{cin >> a >> b >> c >> f;if (f == 0){for (int i = 1; i <= a; i++){for (int j = 1; j <= b; j++){if (i == 1 || i == a || j == 1 || j == b)cout << c;elsecout << " ";        }cout << endl;}}else{for (int i = 1; i <= a; i++){for (int j = 1; j <= b; j++){cout << c;        }cout << endl;}}return 0;
}

如果我们仔细去琢磨上⾯的代码,会发现 if 和 else 中都是打印图案,区别在于实⼼还是空⼼,实⼼和空⼼的区别⼜在于中间区域,其实边上的⼀圈实⼼和空⼼是⼀样的。所以我们在实现的时候,边上⼀圈打印字符,剩余的区域,做⼀个判断,如果是实⼼打印c,如果是空⼼就打印空格就好了,那么就有了下⾯简化的写法。

#include <iostream>
using namespace std;int a, b, f;
char c;int main()
{cin >> a >> b >> c >> f;for (int i = 1; i <= a; i++){for (int j = 1; j <= b; j++){if (i == 1 || i == a || j == 1 || j == b)cout << c;else{if (f == 0)cout << " ";elsecout << c;   }}cout << endl;}return 0;
}
B2085 第 n 小的质数

解析:

  1. 质数⼜称素数。⼀个⼤于1的⾃然数,除了1和它自身外,不能被其他⾃然数整除的数叫做质数。
  2. 第n⼩的质数,其实就是从⼩到⼤的第n个质数。

伪代码

int i = 2;
int cnt = 0;
while (1)
{判断i是否是素数试除:拿2~i-1之间的数组去试除i如果2-i-1之间有数字能整除i,则i不是素数如果2-i-1之间没有任何一个数字能整除i,则i是素数如果i是素数,cnt++if (cnt == n)break;i++;
}
循环停止的时候,i就是第n个素数
#include <iostream>
using namespace std;int n;int main()
{cin >> n;int i = 2;int cnt = 0;while (1){int flag = 1;for (int j = 2; j <= i-1; j++){if (i % j == 0){flag = 0;break;}}if (flag == 1)cnt++;if (cnt == n)break;i++;}cout << i << endl;return 0;
}

![[Pasted image 20250214195145.png]]

“Time Limit Exceeded”(TLE,超时)是⼀个在编程竞赛和在线评测平台(如LeetCode、Codeforces、HackerRank等)中常⻅的错误信息。它意味着程序在执⾏过程中超过了给定的最⼤运⾏时间限制,⽽未能在规定时间内得出结果。

如果 n 有⼀个因⼦ a ,那么必然存在另⼀个因⼦ b ,使得 n = a × b 。如果 a 和 b 都⼤于 n \sqrt{ n } n ,那么 a×b 将会⼤于 n ,这与 n=a×b ⽭盾。因此⾄少有⼀个因⼦不会超过的。

#include <iostream>
using namespace std;
#include <cmath>int n;int main()
{cin >> n;int i = 2;int cnt = 0;while (1){int flag = 1;for (int j = 2; j <= sqrt(i); j++){if (i % j == 0){flag = 0;break;}}if (flag == 1)cnt++;if (cnt == n)break;i++;}cout << i << endl;return 0;
}
水仙花数
#include <iostream>
#include <cmath>
using namespace std;int main()
{for (int i = 100; i <= 999; i++){int sum = 0;int tmp = i;while (tmp){sum += pow(tmp % 10, 3);tmp /= 10;}if (sum == i)cout << i << endl;}return 0;
}

pow函数,可以⽤计算次⽅的函数, pow(x, y) 返回的是 x 的 y 次⽅的值
pow 函数需要⼀个头⽂件 <cmath>

相关文章:

NO.18十六届蓝桥杯备战|循环嵌套|乘法表|斐波那契|质数|水仙花数|(C++)

循环嵌套 循环嵌套的使⽤ while &#xff0c; do while &#xff0c; for &#xff0c;这三种循环往往会嵌套在⼀起才能更好的解决问题&#xff0c;就是我们所说的&#xff1a;循环嵌套。这三种循环都可以任意嵌套使⽤ ⽐如&#xff1a; 写⼀个代码&#xff0c;打印⼀个乘法⼝…...

深入浅出Java反射:掌握动态编程的艺术

小程一言反射何为反射反射核心类反射的基本使用获取Class对象创建对象调用方法访问字段 示例程序应用场景优缺点分析优点缺点 注意 再深入一些反射与泛型反射与注解反射与动态代理反射与类加载器 结语 小程一言 本专栏是对Java知识点的总结。在学习Java的过程中&#xff0c;学习…...

大模型被偷家?CNN结合多模态!

2025深度学习发论文&模型涨点之—— CNN多模态 卷积神经网络是一种特殊类型的神经网络&#xff0c;其主要结构包括卷积层、池化层、全连接层和输出层。卷积层通过卷积操作学习图像的特征&#xff0c;池化层通过下采样操作减少参数数量&#xff0c;全连接层和输出层通过分类…...

UI自动化测试的优缺点?

优点 • 提高测试效率&#xff1a;可以快速地重复执行测试用例。例如&#xff0c;对于一个有大量表单需要验证的网页应用&#xff0c;自动化测试可以在短时间内完成多次输入检查&#xff0c;而手动测试则会花费大量时间。 • 保证测试一致性&#xff1a;每次执行测试的步骤和…...

在 Kubernetes (K8s) 环境中,备份 PostgreSQL 数据库

在 Kubernetes (K8s) 环境中&#xff0c;备份 PostgreSQL 数据库有一些特殊的考虑&#xff0c;因为数据库通常运行在容器中&#xff0c;并且数据存储在卷&#xff08;如 PersistentVolume&#xff09;中。你可以通过几种方式在外部备份 PostgreSQL 数据库&#xff0c;下面是一些…...

机器视觉中的3d和2d的区别

在机器视觉中&#xff0c;3D和2D的主要区别体现在数据的维度、处理方式及应用场景上。以下是具体对比&#xff1a; 数据维度 2D视觉 &#xff1a;处理二维图像&#xff0c;仅包含宽度和高度信息&#xff0c;通常以像素矩阵表示。 3D视觉 &#xff1a;处理三维数据&#xff0c;…...

exr 格式下 全景图(经纬图、panorama)转 cubemap

先上效果 &#xff08;X, -X, Y, -Y, Z, -Z&#xff09; 下载 exr 经纬图 笔者用的这张&#xff1a;https://polyhaven.com/a/kloofendal_48d_partly_cloudy_puresky 使用 Openexr 的 exrenvmap 工具 下载 我 build 了一份 3.3.2 版本的&#xff0c;免积分下载。 https:/…...

STM32 ADC介绍(硬件原理篇)

目录 背景 AD转换器 采样与保持 量化 编码 AD转换器转换原理 DA转换原理 AD转换原理 背景 在数字系统的广泛应用中&#xff0c;用数字系统处理模拟量的情况十分普遍&#xff0c;因此引入了模拟信号和数字信号的接口问题。为了解决这一问题&#xff0c;首先利用模数转换…...

snort3.0 获取注册规则(19000多条)

面对生活中的手机、电脑网络监控&#xff0c;很多人都是束手无策的&#xff0c;只不过雁过留声风过留痕&#xff0c;黑客路过就会留下入侵痕迹&#xff0c;比如手机没玩的时候&#xff0c;流量异常的增多&#xff0c;并且一直和某一个IP地址通信很频繁&#xff0c;可能是黑客正…...

【GitHub】装修个人主页

持续更新各种好文&#xff0c;长期更新技能手册&#xff0c;建议关注收藏点赞&#xff01; 创建仓库&#xff0c;仓库名自己用户名 权限&#xff1a;public 勾选add a README file修改README.md 这里都是运用markdown语法&#xff0c;以及html标签编写的&#xff0c;可以自行修…...

名词解释:npm,cnpm,yarn,vite,vue,electron

1. npm (Node Package Manager) 读音: “N-P-M” 或者直接读作 “npm”。 npm 是 Node.js 的官方包管理器&#xff0c;用于安装、发布和管理 JavaScript 软件包。它允许开发者轻松地共享代码&#xff0c;并且可以通过命令行工具来管理依赖关系。通过 npm init 命令可以交互式…...

XMOS的多项音频技术创新将大模型与边缘AI应用密切联系形成生态化合

2025蛇年春节&#xff0c;DeepSeek大语言模型以超低的训练成本震撼全球&#xff0c;预示着大模型技术将以更快的脚步全面走进我们的工作和生活&#xff0c;同时也促进了能够连通各种大模型和应用场景的智能终端将加速演进。语音作为人类与机器最常用的互动沟通媒体&#xff0c;…...

九.Spring Boot使用 ShardingSphere + MyBatis + Druid 进行分库分表

文章目录 前言一、引入依赖二、创建一个light-db_1备用数据库三、配置文件 application-dev.yml四、创建shardingsphere-config.yml完整项目结构 五、测试总结 前言 在现代化微服务架构中&#xff0c;随着数据量的不断增长&#xff0c;单一数据库已难以满足高可用性、扩展性和…...

大数据治理:构建数据驱动的未来基石

一、大数据治理的定义与核心价值 在大数据战略从顶层设计到底层实现的落地过程中&#xff0c;数据治理是基础&#xff0c;技术是承载&#xff0c;分析是手段&#xff0c;应用是目的。与传统数据管理不同&#xff0c;数据治理更侧重于制定行业级制度规范&#xff0c;通过建立数…...

常见的几种设计模式(详细)——应用场景和实现方式

文章目录 &#x1f3af;单例模式应用实现 &#x1f3ed;工厂模式应用实现 ❓策略模式应用实现 &#x1f9d1;‍⚖️代理模式应用实现 &#x1f50d;观察者模式&#xff08;发布订阅模式&#xff09;应用实现 &#x1f9f0;装饰器模式应用实现 &#x1f4f0;模版方法模式应用实现…...

SonarQube

不同版本的sonarqube需要不同版本的数据库、jdk环境。这个看文档然后确定要求 &#xff08;有时候文档里标注的系统要求是不行的。比如要求内存2G&#xff0c;但是实际上是不够的&#xff0c;要注意&#xff09; 我安装的&#xff1a; 官方文档 Prerequisites and overview…...

Nginx 之Rewrite 使用详解

文章目录 1. 概述2. Rewrite 指令 2.1 指令语法2.2 Flag 标记说明 3. Rewrite 与 Location 3.1 Location 分类3.2 Rewrite 和 Location 比较 4. Rewrite 实际场景 4.1 基于域名的跳转4.2 基于客户端 IP 访问跳转4.3 基于参数匹配的跳转4.4 基于目录下所有 PHP 文件跳转4.5 基于…...

注册Gmail如何跳过手机验证环节?

很多小伙伴在注册Gmail的时候都会遇到一个难题&#xff1a;手机号码验证&#xff0c;有可能包括了“手机号无法验证” “国内手机号验证失败” “收不到验证码”等等问题&#xff0c;但 根据真实案例&#xff0c;还有部分人则是“幸运地”没有手机号验证环节&#xff0c;那么今…...

WordPress自助建站全攻略

一、基础概念与核心优势 WordPress自助建站是一种无需编程即可搭建网站的平台&#xff0c;基于开源CMS系统&#xff0c;支持高度定制化。其核心优势主要体现在&#xff1a; 易用性&#xff1a;拖拽式编辑器和直观的后台操作&#xff0c;适合零基础用户快速上手。低成本&#x…...

TreeSet(单列集合)

TreeSet 是 Java 集合框架中的一种实现了 Set 接口的类&#xff0c;它通过一个红黑树&#xff08;Red-Black Tree&#xff09;来存储元素。由于使用了树结构&#xff0c;TreeSet 保证了元素的有序性&#xff0c;并且不允许重复元素。 1. TreeSet 的基本特性 有序性&#xff1…...

React 第五十五节 Router 中 useAsyncError的使用详解

前言 useAsyncError 是 React Router v6.4 引入的一个钩子&#xff0c;用于处理异步操作&#xff08;如数据加载&#xff09;中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误&#xff1a;捕获在 loader 或 action 中发生的异步错误替…...

Flask RESTful 示例

目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题&#xff1a; 下面创建一个简单的Flask RESTful API示例。首先&#xff0c;我们需要创建环境&#xff0c;安装必要的依赖&#xff0c;然后…...

K8S认证|CKS题库+答案| 11. AppArmor

目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作&#xff1a; 1&#xff09;、切换集群 2&#xff09;、切换节点 3&#xff09;、切换到 apparmor 的目录 4&#xff09;、执行 apparmor 策略模块 5&#xff09;、修改 pod 文件 6&#xff09;、…...

黑马Mybatis

Mybatis 表现层&#xff1a;页面展示 业务层&#xff1a;逻辑处理 持久层&#xff1a;持久数据化保存 在这里插入图片描述 Mybatis快速入门 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6501c2109c4442118ceb6014725e48e4.png //logback.xml <?xml ver…...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路

进入2025年以来&#xff0c;尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断&#xff0c;但全球市场热度依然高涨&#xff0c;入局者持续增加。 以国内市场为例&#xff0c;天眼查专业版数据显示&#xff0c;截至5月底&#xff0c;我国现存在业、存续状态的机器人相关企…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

定时器任务——若依源码分析

分析util包下面的工具类schedule utils&#xff1a; ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类&#xff0c;封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz&#xff0c;先构建任务的 JobD…...

STM32标准库-DMA直接存储器存取

文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA&#xff08;Direct Memory Access&#xff09;直接存储器存取 DMA可以提供外设…...

MODBUS TCP转CANopen 技术赋能高效协同作业

在现代工业自动化领域&#xff0c;MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步&#xff0c;这两种通讯协议也正在被逐步融合&#xff0c;形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

SpringCloudGateway 自定义局部过滤器

场景&#xff1a; 将所有请求转化为同一路径请求&#xff08;方便穿网配置&#xff09;在请求头内标识原来路径&#xff0c;然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...