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

2026-02-19 20:37:40

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

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

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

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

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

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

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

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

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

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

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

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

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

效果如图:

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

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

(共篇)上一篇:求最大公约数和最...|下一篇:
猜你喜欢