C++ 编程求 2 到 n 之间的素数个数 - 代码实现与解释
"素数", 也叫"质数", 是指除了 1 和它本身之外没有其他因数的整数。根据题目要求,我们需要求出 2 到 n 之间的素数个数。\n\n一种常用的判断一个数是否为素数的方法是试除法。对于一个数 x,我们从 2 到 sqrt(x) 依次尝试将 x 除以这些数,如果能整除则说明 x 不是素数,否则 x 是素数。\n\n具体实现思路如下:\n1. 定义一个函数 isPrime,判断一个数是否为素数。函数的输入参数为整数 x,输出为 bool 类型。初始时,将 isPrime 设为 true。\n2. 在 isPrime 函数内部使用循环从 2 到 sqrt(x) 依次试除,如果能整除则将 isPrime 设为 false,同时跳出循环。\n3. 如果 isPrime 为 true,则说明 x 是素数,返回 true;否则返回 false。\n4. 在主函数中,定义变量 count 来计数素数的个数,并初始化为 0。\n5. 使用循环从 2 到 n 依次判断每个数是否为素数,如果是则 count 加 1。\n6. 输出 count 的值。\n\n以下是 C++ 的实现代码:\n\ncpp\n#include <iostream>\n#include <cmath>\nusing namespace std;\\nbool isPrime(int x) {\n bool isPrime = true;\n for (int i = 2; i <= sqrt(x); i++) {\n if (x % i == 0) {\n isPrime = false;\n break;\n }\n }\n return isPrime;\n}\n\nint main() {\n int n;\n cin >> n;\n int count = 0;\n for (int i = 2; i <= n; i++) {\n if (isPrime(i)) {\n count++;\n }\n }\n cout << count << endl;\n return 0;\n}\n\n\n输入样例解释:\n输入 n 为 10,表示要求 2 到 10 之间的素数个数。\n\n输出样例解释:\n2 到 10 之间的素数为 2、3、5、7,共有 4 个素数。
原文地址: https://www.cveoy.top/t/topic/qzdS 著作权归作者所有。请勿转载和采集!