题解 | #KiKi求质数个数#

KiKi求质数个数

https://www.nowcoder.com/practice/d3a404ee0f8d41f98bf4707035d91086

#include<stdio.h>
#include<math.h>//因为用到了sqrt()函数
int main()
{
    int i,j,a=0;//a为素数个数统计
    for(i=101;i<=997;i+=2)//三位数从101开始到997,因为100,998,999一看就不是素数
    {                    //然后是从101开始,每次加2,则跳过所有偶数,只看奇数,因为偶数肯定不是素数
        for(j=3;j<=sqrt(i);j+=2)//从3开始,用奇数除,因为上一步已经把偶数全跳过,检验从3开始的奇数一个一个试
        {                       //如果有哪个奇数能把i整除,则i不是素数则跳出j循环,此时j小于sqrt(i),a不累加
            if(i%j==0)
            {
                break;
            }
        }
        if(j>sqrt(i))//为什么是sqrt(i)呢?是因为非质数的成对因数每对较小的最大不超过sqrt(i),
                     //因此j从3开始奇数一个个比较一直到sqrt(i),还没有找到,则j就会因为循环完了
                     //所以大于sqrt(i)而跳出循环,此时我们用这个j>sqrt(i),来判断此时i为素数,a累加1
        {
            a++;
        }
    }
    printf("%d",a);
    return 0;
}

总结:https://blog.csdn.net/HeXIAOxia_/article/details/130793489

大家可以看这篇博客,讲的很详细!!!

全部评论

相关推荐

仁者伍敌:牛子这些人还会点一个自动回复,boss都不带回复的
点赞 评论 收藏
分享
ZywOo_求职版:谁问你了....
投递字节跳动等公司8个岗位
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-03 18:22
投了几百份简历,专业和方向完全对口,都已读不回。尝试改了一下学校,果然有奇效。
steelhead:这不是很正常嘛,BOSS好的是即便是你学院本可能都会和聊几句,牛客上学院本机会很少了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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