C语言进阶:[10]素数的判定

2025-11-19 07:28:17

    在求素数的题目中基本上有两种:

      一判断给定的数是否是素数,

      二筛选出小于给定的数的所有素数。

    基本上就是这两个方面。首先素数是不等于1,它的因子只有1和它本身。判断一个数是否为素数,可以用大于1小于给定数的所有数去除给定数,如果有任何一个能够除尽,就表示是合数,反之是素数。代码如下:

C语言进阶:[10]素数的判定

    因为C语言中没有bool类型,我们用int表示结果,当result等于1是表示是合数,等于0表示是素数。

    第二种情况有两种解决办法:

    1.利用第一种的函数,循环进行判断。prim函数同上。

C语言进阶:[10]素数的判定

   我们选择了小于1000的素数,结果如下:

C语言进阶:[10]素数的判定

2.利用埃拉托色尼选筛法,主要思想是从最小的素数开始依次把此素数的倍数去掉,直到设定的数为止,直到素数到达给定的数为止。我们以简单的方式来做。代码如下

C语言进阶:[10]素数的判定

效果如图:

C语言进阶:[10]素数的判定

两次结果相同。希望对大家学习素数的时候有用。

(共篇)上一篇:求最大公约数和最...|下一篇:
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢