Python /数学素数查询

时间:2018-07-01 02:32:02

标签: python math

需要帮助理解用来得出数字在感叹词中是素数的数学公式。详细的分类将非常有帮助!

enter image description here

1 个答案:

答案 0 :(得分:1)

如下:

if num % 2 == 0 and num > 2:
可以将

重新声明为-如果您的数字是偶数并且数字大于2,则它不能是质数。 num % 2 returns the remainder of the expression。因此5 % 2 => 1,而4 % 2 =>0。所有偶数都可以被2整除,因此不是素数-任何可被2整除的数字都不是2也不是质数。

for i in range(3, int(math.sqrt(num)) +1, 2):
可以将

重新设置为以3(第一个整数> 2)开头的范围内的选择号,以您要检查其是否为质数(num)的数字的平方根结束,并且stepping乘2。步进2表示从3开始时将跳过所有偶数。作为注释(reference),任何i都应大于2的平方根。 num的因数将在3到数字的平方根之间-因此您可以在该点停止生成数字。

if num % i == 0:
可以像测试偶数一样重述

。这将从范围内的数字(数字i)开始,并将其划分为要测试的数字。如果可以不加余数地输入数字,则该数字不是素数。对于两个if语句-如果数字被平均除(结果模数为0),则代码将return False表示数字不是素数。如果该数字不能除以偶数,也不能除以3与该数字的平方根之间的奇数,则代码将为return True--表示该数字为质数。