C语言筛法求100以内素数完整代码实现
这是一个经典的筛法求素数问题。下面是用C语言实现的程序,并附带详细注释。 ### 🔍 程序实现 ```c #include <stdio.h> #include <stdbool.h> #include <math.h> #define MAX 100 int main() { // 初始化标记数组,默认所有数为素数 bool isPrime[MAX + 1]; for (int i = 0; i <= MAX; i++) { isPrime[i] = true; } // 0和1不是素数 isPrime[0] = false; isPrime[1] = false; // 埃拉托斯特尼筛法(Sieve of Eratosthenes) for (int i = 2; i <= sqrt(MAX); i++) { if (isPrime[i]) { // 从i的平方开始标记,避免重复标记 for (int j = i * i; j <= MAX; j += i) { isPrime[j] = false; } } } // 输出素数并统计个数 int count = 0; for (int i = 2; i <= MAX; i++) { if (isPrime[i]) { printf("%d ", i); count++; } } printf("\n%d\n", count); return 0; } ``` ### 📊 代码说明 - **标记数组**:使用布尔数组 `isPrime` 记录每个数是否为素数 - **筛法核心**:从2开始,将每个素数的倍数标记为非素数 - **优化处理**:从 `i * i` 开始标记,减少重复操作 - **结果输出**:先按序输出素数,再单独输出素数个数 ### ✅ 验证结果 程序输出与样例完全一致: ``` 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 25 ``` ######[AI问答 | 464点数解答 | 2026-06-15 20:34:29]
- C++实现图像模糊化处理:含代码、解释与复杂度分析(字节豆包 | 670点数解答 | 2025-11-10 18:55:33)147
- 补全代码:将数组所有元素赋值为 100 并输出(字节豆包 | 164点数解答 | 2025-11-01 19:14:57)134
- C++实现图像像素灰度值模糊化处理:输入输出全解析(字节豆包 | 655点数解答 | 2025-12-01 14:24:01)116
- Python 实现图像模糊化:输入像素值,输出处理后图像(附代码及详细解释)(字节豆包 | 555点数解答 | 2025-12-09 12:22:26)116
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)454
- 神秘数据背后的信息解读:样例输入与输出探秘(字节豆包 | 28点数解答 | 2024-12-12 11:56:59)436
- C++ 实现我的世界基岩版:从简单框架到开发要点揭秘(字节豆包 | 182点数解答 | 2025-02-22 15:53:11)234
- C++ 实现完整斗地主:含洗牌、发牌与手牌展示,可按需扩展!(字节豆包 | 1028点数解答 | 2026-01-10 08:02:37)77
- C++实现:输入整数英文单词算乘积,输出数字与英文结果,可多次计算!(GPT | 2268点数解答 | 2024-05-24 01:55:27)408
- 用 JS 中 for 循环实现 1 到 100 相加并输出结果到页面的完整代码 ( | 240点数解答 | 2024-05-20 22:11:29)539
- 用 JS 的 while 循环实现 1 到 100 相加并输出到页面的代码揭秘( | 47点数解答 | 2024-05-20 22:16:48)413
- 洛谷:根据邮件重量与加急情况精准计算邮费(字节豆包 | 88点数解答 | 2024-11-09 15:33:30)435