题目描述
六一儿童节到了,五年级 2 班的张老师组织了数质数数游戏。游戏规则是这样的:张老师任意给出一个正整数 m,参加游戏者说出 1 到 m 之间(包括 1 和 m)质数的个数,谁最先说出正确的答案将会得到一个奖品。现在你编写一个程序对给出的 m,输出正确的答案。
输入
只有一个正整数 m(m 为小于 30000 的正整数)
输出
只有一个数,就是 1 到 m 之间质数的个数。
样例数据
输入
20
输出
8
代码
#include<bits/stdc++.h>
using namespace std;
bool pd(int n)//判断素数
{
for(int i=2;i*i<=n;i++) if(n%i==0) return 0;
return 1;
}
int main()
{
int n,sum=0;
cin>>n;
for(int i=2;i<=n;i++) if(pd(i)) sum++;//找素数
cout<<sum;
return 0;
}