题解 | #筛选法求素数#

筛选法求素数

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

#include <stdio.h>

int main() {
    int n;
    int a[100];
    int sum=0;
    while(scanf("%d",&n)!=EOF)
    {
        for(int i=2;i<n+1;i++)
        {
            a[i-2]=i;
        }
        for(int i=0;i<n-1;i++)
        {
            if(a[i]>11)
            {
                for(int j=2;j<10;j++)
                {
                    if(a[i]%j==0)
                    {
                        a[i]=0;
                        sum++;
                        break;
                    }
                }
                
            }
            else {
                if(a[i]!=2&&a[i]!=3)
                {
                    if((a[i]%2==0||a[i]%3==0))
                {
                    a[i]=0;
                    sum++;
                }
                }
            }
        }
        for(int i=0;i<n-1;i++)
        {
            if(a[i]!=0)
            {
            printf("%d ",a[i]);
            }
        }
        printf("\n");
        printf("%d",sum);
        sum=0;
    }
    return 0;
}

全部评论

相关推荐

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