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]
- C++代码:输入数字判断奇偶性及是否为 5 或 4 的倍数(字节豆包 | 409点数解答 | 2025-12-20 19:04:17)60
- C++ 代码:从错误到正确,精准统计不同规则比赛结果 (字节豆包 | 868点数解答 | 2025-12-02 18:30:13)75
- C++代码错误排查:数组越界与返回语句问题修正(字节豆包 | 280点数解答 | 2024-11-13 23:13:10)266
- "Fixing String Trimming Bugs: A Corrected C++ Code Explanation"(阿里通义 | 556点数解答 | 2024-11-19 16:57:27)295
- C++ 去除字符串首尾空格代码问题剖析与修正(讯飞星火 | 579点数解答 | 2024-11-19 16:57:32)259
- C++ 代码详解:根据输入年龄判断阶段及代码改进建议(字节豆包 | 780点数解答 | 2026-01-29 16:57:33)41
- 代码优化:改进回文数与质数判断函数及代码风格(字节豆包 | 298点数解答 | 2025-01-25 21:27:32)336
- C++ 实现:根据 11 分制与 21 分制计算比赛比分结果(字节豆包 | 905点数解答 | 2025-12-02 18:33:13)69
- C++代码:依据输入实现 11 分制与 21 分制比赛结果输出(字节豆包 | 926点数解答 | 2025-12-02 18:44:32)53
- 揭秘“int a = 8; if(a>6){ }”的正确 IR 表示!(百度文心 | 575点数解答 | 2024-12-18 18:40:35)281
- C++编程:输入整数判断奇偶与大小并按需输出(字节豆包 | 189点数解答 | 2025-12-13 20:11:55)101
- C++ 代码:判断输入整数奇偶性与大小并输出对应结果(字节豆包 | 420点数解答 | 2025-12-27 21:25:35)59