1 条题解
-
0
#include <bits/stdc++.h> using namespace std; int arr[110]; // 存储所有输入的n值(n≤100,数组大小足够) int main(){ int x = 0; // [1] 记录输入的有效n的个数(索引) int n; cin >> n; // 读取第一个输入值 // [2] 循环读取输入,直到遇到0结束 while(n != 0){ arr[x] = n; // 将当前n存入数组 x++; // 索引自增,准备存下一个n cin >> n; } // [3] 遍历每个输入的n,计算1~n的素数个数 for(int i = 0; i < x; i++){ int sum = 0; // 记录当前n范围内的素数个数 // [4] 检查2到arr[i]的每个数是否为素数 for(int j = 2; j <= arr[i]; j++){ int flag = 1; // 标记当前数j是否为素数(1=是,0=否) // [5] 试除法判断j是否为素数 for(int k = 2; k < j; k++){ if(j % k == 0){ // 若能被整除,说明不是素数 flag = 0; break; // 提前终止循环 } } if(flag) sum++; // 如果是素数,计数+1 } cout << sum << endl; // 输出当前n对应的素数个数 } return 0; }
- 1
信息
- ID
- 1193
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 3
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者