题解 | #筛选法求素数#

筛选法求素数

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

#include <stdio.h>
int main()
{
    int i,j,n,a[100];
    int sum=0;                                //最后数组中0的个数
    while(scanf("%d",&n)!=EOF){
        for(i=2;i<=n;i++){                    //将值导入数组(2--n)
            a[i-2]=i;                         //a0--a[n-2]
        }
        for(j=2;j<=n;j++){                    /*     从a[1]到a[n-2]判断数值是否能整除2,
                                              每循环一次初始循环的数组下标+1,整除数+1*/
            for(i=j-1;i<n-1;i++){
                if(a[i]%j==0) a[i]=0;
            }
        }
        for(i=0;i<n-1;i++){                   //输出不为0的数据并计算等于0的个数
            if(a[i]!=0) printf("%d ",a[i]);
            else sum++;
        }printf("\n%d",sum);                  //换行输出等于0的个数
    }
    return 0;
}
全部评论
第一个for语句应该是for(j=2;j<=n–1;j++)吧,而且while循环末应该再加个sum=0;吧。
1 回复 分享
发布于 2021-10-31 19:48

相关推荐

一个菜鸡罢了:哥们,感觉你的简历还是有点问题的,我提几点建议,看看能不能提供一点帮助 1. ”新余学院“别加粗,课程不清楚是否有必要写,感觉版面不如拿来写一下做过的事情,教育经历是你的弱势就尽量少写 2. “干部及社团经历”和“自我评价”删掉 3. 论文后面的“录用”和“小修”啥的都删掉,默认全录用,问了再说,反正小修毕业前肯定能发出来 4. 工作经验和研究成果没有体现你的个人贡献,着重包装一下个人贡献
点赞 评论 收藏
分享
11-18 09:44
Java
小白也想要offer:简历别放洋屁,搞不还还放错了,当然你投外企除外,以上纯属个人观点
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务