题解 | #筛选法求素数#

筛选法求素数

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

#include<stdio.h>
int main(void)
{
    int n;
    while((scanf("%d",&n))!=EOF)
    {
        int *a=(int *)malloc(sizeof(int)*(n-1));//动态分配一个数组
        int count=0;
        for(int i=0;i<n-1;i++)//为数组赋值
            a[i]=i+2;
        for(int i=0;i<n-1;i++)//注意前面a[0]和a[1]分别为2和3
        {
            if((1!=a[i]/2&&0==a[i]%2)||(1!=a[i]/3&&0==a[i]%3)||(1!=a[i]/5&&0==a[i]%5)||(1!=a[i]/7&&0==a[i]%7))
            {
                a[i]=0;
                count++;
            }
        }
        for(int i=0;i<n-1;i++)
        {
            if(a[i]!=0)
                printf("%d ",a[i]);
        }
        printf("\n%d",count);
    }
    return 0;
}
全部评论

相关推荐

字节一直是我的白月光,考虑到转正还是拒了日常实习。
从明天开始狠狠卷JV...:为什么你释放的offer没流到我头上
点赞 评论 收藏
分享
06-27 18:45
中山大学 Ruby
25届应届毕业生,来广州2个礼拜了,找不到工作,绝望了,太难过了…
应届想染班味:9爷找不到工作只能说明,太摆了或者太挑了。
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务