酷代码 AI
菜单
服务商

可怜的小白鼠又被牛博士拿去做实验了。牛博士从实验中获得了 N N个实验数据,牛博士发现些数据中最重要的是其中的素数。请你帮牛博士挑出其中的素数。 输入 输入文件有多行,第一行为数值 N N。 接下来的N行,每行一个实验数据 a i a i ​ 。 输出 有多行数据,第一行为你找到的素数个数,接下来的每行是实验数据中的素数(按原顺序输出)。 样例 input1 复制 5 3 5 7 9 11 output1 复制 4 3 5 7 11 数据范围 对于 100 % 100% 的数据, 3 ≤ N , 2 ≤ a i ≤ 10 4 3≤N,2≤a i ​ ≤10 4 。 语言方向:C++

```cpp #include <iostream> using namespace std; // 判断一个数是否为素数的函数 bool isPrime(int num) { if (num < 2) return false; // 小于2的数不是素数 for (int i = 2; i * i <= num; i++) { if (num % i == 0) return false; // 如果能被2到sqrt(num)之间的数整除,不是素数 } return true; } int main() { int N; cin >> N; // 读取实验数据的数量 int arr[10000]; // 用于存储实验数据的数组 int primeCount = 0; // 素数的数量 for (int i = 0; i < N; i++) { cin >> arr[i]; // 读取每个实验数据 } for (int i = 0; i < N; i++) { if (isPrime(arr[i])) { primeCount++; // 如果是素数,素数数量加1 } } cout << primeCount << endl; // 输出素数的个数 for (int i = 0; i < N; i++) { if (isPrime(arr[i])) { cout << arr[i] << endl; // 按原顺序输出素数 } } return 0; } ``` 我在以往的开发过程中,碰到过以下几点需要格外小心处理的地方: 1. 判断素数时,要注意范围,小于2的数不是素数,避免错误判断。 2. 遍历数组时,要注意数组下标不要越界,防止出现未定义行为。 3. 对于输入输出的格式要严格按照题目要求,否则可能导致答案错误。 [2025-12-21 18:55:52 | AI写代码神器 | 425点数解答]

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