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

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

这里写图片描述

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

判断一个数为素数,只要判断比它开根号的后的数小的数能否把它整除。 例如 15 : 根号15乘根号19等于15.则当一个比根号15的数大的数乘另一个数得到15.另一个数必然小于根号15. 所以,如果(num % i == 0)的话就说明除了1和它本身以外还有其他因书,所以就不满足只能被自身或1整除的数整除即为质数这个条件。同时,当循环结束时候,i++,所以此时i == k+1; 所以当i >= num+1的时候才是素数;

同理 : 判断100之内的素数

这里写图片描述

方法2:

这里写图片描述

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


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

猜你喜欢

转载自blog.csdn.net/qq_36657788/article/details/82026198