目录
题目描述
输入描述
输出描述
解析
完整代码
描述
编一个程序,计算1-n范围内素数的个数。
输入描述
包括多组数据。每组数据仅有一个整数n (1<=n<=10000000)。输入以0结束。
输出描述
对于每组数据输入,输出一行,为1-n(包括n)之间的素数的个数。
用例输入 1
1 10 65 100 0
用例输出 1
0 4 18 25
这题考的是素数,判断方法就不说了,然后求范围里素数的个数;
下面出示代码:
#include <bits/stdc++.h>
using namespace std;
bool zs(int n){
for(int i=2;i<=sqrt(n);i++)
if(n%i==0)
return false;
return true;
}
long long a[100000001];
int i=1,cnt=-1;
int main() {
while(1){
cin>>a[i];
if(a[i]==0) break;
i++;
}
for(int j=1;j<=i-1;j++){
for(int o=1;o<=a[j];o++){
if(zs(o)) cnt++;
}
cout<<cnt<<endl;
cnt=-1;
}
return 0;
}