题目描述
输入一个正整数n,统计2~n之间的素数(质数)个数,含2和n。
输入
一行一个正整数n,2≤n≤10000。
输出
一行一个正整数,表示答案。
样例输入 Copy
10样例输出 Copy
4
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,sum=0;
cin >> n;
bool a[n+1];
memset(a,true,sizeof(a));
for(int i=2;i<=n;i++)
{
if(a[i]==1)
{
for(int j=i;j*i<=n;j++)
a[i*j]=0;
}
}
for(int i=2;i<=n;i++)
{
if(a[i])
{
sum++;
}
}
cout << sum;
return 0;
}