一个简单的求素数个数的程序,适用于一千万以内。时间复杂度确定,程序细节或可微调,但效率不会有太大改变。
#include <stdio.h>
int main()
{
int n,y,i,v=0;
scanf("%d",&n);
for(y=2;y<=n;y++)
{
for(i=2;i*i<=y;i++)
{
if(y%i==0)break;
}
if(i*i>y)
{
//printf("%d、",y);
v++;
}
}
printf("共%d个素数\n",v);
return 0;
}