酷代码 AI
菜单

题目描述 可怜的小白鼠又被牛博士拿去做实验了。牛博士从实验中获得了 N个实验数据,牛博士发现些数据中最重要的是其中的素数。请你帮牛博士挑出其中的素数。 输入 输入文件有多行,第一行为数值N 接下来的N行,每行一个实验数据ai。 输出 有多行数据,第一行为你找到的素数个数,接下来的每行是实验数据中的素数(按原顺序输出)。 用C++语言编写,前两行必须用 #include <iostream>; using namespace std;

```cpp #include <iostream> using namespace std; // 判断一个数是否为素数 bool isPrime(int num) { if (num < 2) return false; for (int i = 2; i * i <= num; i++) { if (num % i == 0) return false; } return true; } int main() { int N; cin >> N; int primes[1000]; // 假设最多1000个素数 int count = 0; for (int i = 0; i < N; i++) { int ai; cin >> ai; if (isPrime(ai)) { primes[count++] = ai; } } cout << count << endl; for (int i = 0; i < count; i++) { cout << primes[i] << endl; } return 0; } ``` 代码解释: 1. `isPrime`函数:用于判断一个数是否为素数。素数是大于1且只能被1和自身整除的数。对于小于2的数直接返回`false`,对于大于等于2的数,从2开始到该数的平方根进行遍历,如果能被其中任何一个数整除,则不是素数,返回`false`,否则返回`true`。 2. `main`函数: - 读取输入的实验数据个数`N`。 - 定义一个数组`primes`用于存储找到的素数,变量`count`用于记录素数的个数。 - 通过循环读取`N`个实验数据,对于每个数据调用`isPrime`函数判断是否为素数,如果是则将其存入`primes`数组,并将`count`加1。 - 输出素数的个数`count`。 - 遍历`primes`数组,按顺序输出其中的素数。 [2026-02-01 20:02:55 | AI问答 | 455点数解答]

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