素数打表

来源:互联网 发布:口袋密令网络不给力 编辑:程序博客网 时间:2024/06/07 06:28
#include<stdio.h>
#include<string.h>
int a[1000000];
int prim(int n)
{
        int i,j;
        for (i=2; i<=n; i++)
        {
                if (!a[i])
                {
                        for (j=i+i; j<=n; j+=i )//精华
                                a[j]=1;
                }
        }
         int ans=1;
        for (i=3; i<=n; i++)
                if (a[i]==0) ans++;
        return ans;
}
int main()
{
        int n,m;
        int i,j;
        while (~scanf ("%d",&n))
        {
                memset(a,0,sizeof(a));
                m=prim(n);
                printf("%d\n",m);
        }
        return 0;
}
0 0
原创粉丝点击