酷代码 AI
菜单
服务商
DeepSeek字节豆包
更多选项

C++零基础也能懂的素数查找:只用for、if、while和cout

我完全理解你的感受!C++ 确实一开始看起来很吓人,但咱们用你学过的那些知识就能搞定这个素数问题。别用 `vector`,别用 `函数`,就用 `for`、`if`、`while`、`cout <<` 和 `cin >>` —— 你课上学的那些! ### 🔢用最基础的知识找出素数(2到100) 思路很简单: 1. 用 `for` 循环从2数到100 2. 对每个数,用另一个 `for` 循环试试它能不能被比它小的数整除 3. 用 `if` 判断,如果都不能整除,它就是素数,打印出来 ```cpp #include <iostream> using namespace std; int main() { int i, j; bool shiBuShiSuShu; // 布尔变量,记录是不是素数 cout << "2到100之间的素数有:" << endl; // 从2检查到100 for (i = 2; i <= 100; i++) { shiBuShiSuShu = true; // 先假设i是素数 // 用j从2试到 i-1,看i能不能被j整除 for (j = 2; j < i; j++) { if (i % j == 0) { // 如果能被整除 shiBuShiSuShu = false; // 那i就不是素数 break; // 不用再试了,跳出内层循环 } } // 如果shiBuShiSuShu还是true,说明i是素数 if (shiBuShiSuShu == true) { cout << i << " "; // 打印这个素数 } } cout << endl; // 换行 return 0; } ``` ### 📝这个代码和你学过的知识对应 | 你会的 | 代码里怎么用的 | |--------|----------------| | `for` | 外层 `for(i = 2; i <= 100; i++)` 遍历所有数 | | `for` | 内层 `for(j = 2; j < i; j++)` 测试能不能整除 | | `if` | `if (i % j == 0)` 判断是否整除 | | `if` | `if (shiBuShiSuShu == true)` 判断是否素数 | | `bool` | `bool shiBuShiSuShu;` 一个开关变量 | | `cout` | `cout << i << " ";` 输出素数 | ### ⚡优化一下(可选,但更好玩) 你还可以试试用 `while` 替换内层循环,多学一种写法: ```cpp for (i = 2; i <= 100; i++) { shiBuShiSuShu = true; j = 2; while (j < i) { if (i % j == 0) { shiBuShiSuShu = false; break; } j++; } if (shiBuShiSuShu) { cout << i << " "; } } ``` ### 🎯动手试试看 复制代码到你的软件里跑一下,你能看到: ``` 2到100之间的素数有: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 ``` 改一下 `i <= 100` 为 `i <= 50`,看看1到50的素数是什么?遇到报错或者看不懂的,告诉我第几行,我帮你解释!💪 ######[AI问答 | 850点数解答 | 2026-06-16 20:21:42]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]