求素数
Time Limit: 100ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
求小于n的所有素数的数量。
输入
多组输入,输入整数n(n<1000000),以0结束。
输出
输出n以内所有素数的个数。
示例输入
10 0
示例输出
4
提示
来源
zp
示例程序
#include<stdio.h>
int s[1000000];
int main()
{
int n,i,j,c;
for(i=0; i<=1000000; i++)
{
s[i]=1;
}
for(i=2; i<=1000000; i++)
{
if(s[i]==1)
{
for(j=2; i*j<=1000000; j++)
{
s[i*j]=0;
}
}
}
while(scanf("%d",&n),n!=0)
{
c=0;
for(i=2; i<=n; i++)
{
if(s[i]==1)
{
c++;
}
}
printf("%d\n",c);
}
return 0;
}