代码:
def prime(n):
from math import sqrt
for i in range(2, int(sqrt(n)) + 1):
if n % i == 0:
return False
return True
会正确找到素数,但我不明白为什么它在以下情况下返回2作为素数:
print(2%2)
打印0,谁能告诉我为什么?
答案 0 :(得分:1)
int(sqrt(2)) + 1
为2
,range(2, 2)
为空(上限为独占),因此循环体不会运行。