题解 | #筛选法求素数#

筛选法求素数

https://www.nowcoder.com/practice/06c3dcc303654ef4926654023eca1e5a

#include <stdio.h>
int main() 
{
    int n=0;
    int arr[100]={0};
   while(scanf("%d",&n)!=-1)
   {
    int i=0;
    for(i=0;i<=n;i++)
    {
        arr[i]=i;
    }
    int k=0;
    int count=0;
    for(k=2;k<n;k++)
    {
        for(i=n;i>k;i--)
        {
            if(arr[i]%k==0&&arr[i]!=0)
            {
                count++;
                arr[i]=0;
            }
        }
    }
    for(i=2;i<=n;i++)
    {
        int flag=1;
       for(int j=2;j<i;j++)
       {
        if(i%j==0)
        flag=0;
       }if(flag)
       printf("%d ",i);
    }
    printf("\n%d",count);
   }
    return 0;
}

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务