用c语言实现筛除法(判断素数的方法)

文章介绍了素数筛除法的基本原理,即一个数如果不是任何素数的倍数,则它一定是素数。素数定义为只有1和自身两个正因数。通过从2开始排除所有素数的倍数,可以找到所有的素数。提供的C语言代码展示了这种算法的实现。此外,文章还提到,若要寻找一定数量的素数,可以利用素数定理预估范围后再进行筛选。
摘要由CSDN通过智能技术生成

首先解释 筛除法 的原理

可知素数的定义是 除了1和它本身以外,再也没有数可以把它整除

那么也就是说:一个素数的整数倍肯定不是素数,况且由于从最小的素数(2)开始向更大的数排查

所以只要不是任何一个素数的倍数那么肯定就是素数,不会有遗漏

(这是上面一句话的解释)因为可知数只分为素数和合数,如果一个数不是任何一个素数的倍数

那么如果它想是合数的话,它必须是合数的倍数,而合数可以分解成小的素数的倍数,到头来

还是素数的倍数

实现算法的c语言代码如下

最后提一句,如果是查找比如最小的五十个素数,可以用素数定理确定大概位置,然后再使用上类方法

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值