判断一个数是否是素数,或者判断一定范围内的素数有哪些

首先需要理解什么是素数(也就是我们常说的质数):即一个只能被自身或1整除的数整除即为质数。(搞清楚: a 能被 b整除 , a是被除数,b是除数)

这里写图片描述

为什么要建立一个开根号的数呢?

判断一个数B为素数,假设B开根号后等于A,只要判断比A小的数C(假设C比根号A小)是不是B的因子就行。原因如下。例如15这个数:根号15约等于3.87,因为15有个一因子是3,且3小于3.87,所以一定存在一个大于3.87且小于15的数乘以3等于15,即5。就是这样一个一一对应的关系,如果小于A的因数不存在,则大于A的因数一定不存在。所以,如果(num % i == 0)的话就说明除了1和它本身以外还有其他因数,所以就不满足只能被自身或1整除的数整除即为质数这个条件。同时,当循环结束时候,i++,所以此时i == k+1; 所以当i >= num+1的时候才是素数;

同理 : 判断100之内的素数

这里写图片描述

方法2:

这里写图片描述

相对于方法1来说,方法2是遍历2到num所有的数,所以方法2的效率相对于方法1来说较低,运算速度低下。所以还是建议大家用方法一来进行判断素数


看完之后你是否理解了如何判断素数呢? 欢迎评论或说出不理解的地方哦!##

  • 12
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值