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

C++筛法求100以内素数及个数输出

```cpp #include <iostream> #include <vector> using namespace std; int main() { const int N = 100; vector<bool> isPrime(N + 1, true); int count = 0; // 埃拉托斯特尼筛法 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; } } } // 输出素数并统计个数 for (int i = 2; i <= N; ++i) { if (isPrime[i]) { cout << i << " "; count++; } } cout << endl << count << endl; return 0; } ``` ## 代码说明 - **筛法实现**:创建一个布尔数组,初始假设所有数都是素数。从2开始,标记其倍数为非素数,直到根号N。 - **输出格式**:在一行内依次输出素数,每个数后跟一个空格,最后换行输出素数的个数。 - **效率优化**:仅遍历到N的平方根,减少不必要的循环次数。 ######[AI问答 | 299点数解答 | 2026-06-15 20:35:46]

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