C++ 筛数法实现输出 100 以内素数及个数统计
以下是使用 C++ 实现筛数法输出 100 以内所有素数并统计个数的代码: ```cpp #include <iostream> #include <vector> int main() { const int n = 100; // 创建一个布尔类型的向量,初始值都为 true std::vector<bool> isPrime(n + 1, true); // 0 和 1 不是素数 isPrime[0] = isPrime[1] = false; // 筛数法核心部分 for (int i = 2; i * i <= n; ++i) { if (isPrime[i]) { for (int j = i * i; j <= n; j += i) { isPrime[j] = false; } } } int count = 0; // 输出素数 for (int i = 2; i <= n; ++i) { if (isPrime[i]) { std::cout << i << " "; ++count; } } std::cout << std::endl; // 输出素数个数 std::cout << count << std::endl; return 0; } ``` ### 代码解释 1. **初始化布尔数组**:创建一个布尔类型的向量 `isPrime`,大小为 `n + 1`,初始值都为 `true`,表示假设所有数都是素数。将 `isPrime[0]` 和 `isPrime[1]` 设为 `false`,因为 0 和 1 不是素数。 2. **筛数法核心**:从 2 开始,对于每个素数 `i`,将其倍数 `j`(从 `i * i` 开始)标记为非素数。 3. **输出素数并统计个数**:遍历 `isPrime` 数组,输出所有值为 `true` 的下标,并统计素数的个数。 ######[AI问答 | 484点数解答 | 2026-06-15 20:36:31]
- 补全代码:将数组所有元素赋值为 100 并输出(字节豆包 | 164点数解答 | 2025-11-01 19:14:57)134
- 星际编码大赛终极对决:机械星AI与异星人激战“逆序对”统计难题(字节豆包 | 509点数解答 | 2025-04-19 17:33:00)310
- Python 实现图像模糊化:输入像素值,输出处理后图像(附代码及详细解释)(字节豆包 | 555点数解答 | 2025-12-09 12:22:26)116
- C++实现图像模糊化处理:含代码、解释与复杂度分析(字节豆包 | 670点数解答 | 2025-11-10 18:55:33)147
- C++实现图像像素灰度值模糊化处理:输入输出全解析(字节豆包 | 655点数解答 | 2025-12-01 14:24:01)116
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)454
- 神秘数据背后的信息解读:样例输入与输出探秘(字节豆包 | 28点数解答 | 2024-12-12 11:56:59)436
- C++ 实现:快速查找 n 个正整数中的第 x 个数(字节豆包 | 380点数解答 | 2025-11-08 19:23:39)191
- C++实现:输入整数英文单词算乘积,输出数字与英文结果,可多次计算!(GPT | 2268点数解答 | 2024-05-24 01:55:27)408
- C++ 实现根据部分橘子重量估算整箱橘子重量(字节豆包 | 371点数解答 | 2026-04-11 13:12:51)36
- Python 实现:精确统计两数范围内素数个数,附完整代码与优化思路(阿里通义 | 292点数解答 | 2024-11-28 21:36:29)281
- 洛谷:根据邮件重量与加急情况精准计算邮费(字节豆包 | 88点数解答 | 2024-11-09 15:33:30)435