题目描述
编一个程序,计算1-n范围内素数的个数。
输入
包括多组数据。每组数据仅有一个整数n (1<=n<=10000000)。输入以0结束。
输出
对于每组数据输入,输出一行,为1-n(包括n)之间的素数的个数。
样例输入 复制
1
10
65
100
0
样例输出 复制
0
4
18
25
代码实现:
#include<bits/stdc++.h>
using namespace std;
bool pd(int s){
for(int i=2;i<s;i++){
if(s%i==0) return 0;
}
return 1;
}
int gs(int z){
int num=0;
for(int i=2;i<=z;i++){
if(pd(i)) num++;
}
return num;
}
int main(){
int n;
cin>>n;
while(n){
cout<<gs(n)<<endl;
cin>>n;
}
}