酷代码 AI
菜单
服务商

编程求正整数M与N之间的所有素数的个数.(M<=N)c++

```cpp #include <iostream> #include <cmath> using namespace std; bool isPrime(int num) { if (num <= 1) return false; // 1及以下的数不是素数 if (num == 2) return true; // 2是素数 if (num % 2 == 0) return false; // 排除偶数 int limit = sqrt(num); // 只需检查到平方根 for (int i = 3; i <= limit; i += 2) { // 只检查奇数因子 if (num % i == 0) { return false; } } return true; } int main() { int M, N; cin >> M >> N; if (M > N) { // 处理M>N的非法输入 cout << "输入错误:M应小于等于N" << endl; return 1; } int count = 0; for (int i = M; i <= N; i++) { if (isPrime(i)) { count++; } } cout << count << endl; return 0; } ``` 我在以往的开发过程中,碰到过以下几点需要格外小心处理的地方: 1. 输入验证:确保M≤N,否则程序应给出明确错误提示 2. 边界条件:正确处理M=1的情况,1不是素数 3. 性能优化:检查素数时只需到平方根,且跳过偶数可大幅提升效率 [2026-02-11 18:43:12 | AI写代码神器 | 330点数解答]

相关提问
发财导航,免费问AI
实用工具查看更多