题解 | #筛选法求素数#

筛选法求素数

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;
}
全部评论

相关推荐

什么时候才能有offer啊_:十年前我还在刺激战场研究跳伞的底层原理呢
投递牛客等公司10个岗位
点赞 评论 收藏
分享
01-02 21:17
已编辑
西安理工大学 后端
程序员小白条:项目不太重要,你的优势的算法竞赛,然后多背相关的八股文,项目可以不作为重点考虑,面试可能就简单带过项目就行了,你可以直接写简历,背项目相关的八股文就行,也不用自己做,时间紧张的情况下,性价比最高
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务