【发布时间】:2020-05-08 11:22:23
【问题描述】:
大家好,我想知道这段代码是怎么回事:
def is_prime(n):
for i in range(2, int(n**.5 + 1)):
if n % i == 0:
return False
return True
在第 2 行时能够检查素数:for i in range(2, int(n**.5 + 1)): 范围不是:range(2, n)?它不应该遍历每个数字直到n 但不包括它吗?这个没有这样做,但它以某种方式起作用......有人可以解释它为什么起作用。
【问题讨论】:
-
这不是 Python。这是纯粹的数学。合数的因数必须小于该数的平方根。
-
@Austin 哦,好的,谢谢
标签: python python-3.x primes