def bhl(x): 如果x == 1: 返回False elif x == 2: 返回True elif x%2 == 0: 返回False 对于范围内的b(3,int(x ** 0.5 +1)): 如果x%b == 0: 返回False 其他: 返回True
不知道我是否太累了,但我真的无法弄清楚代码的这一部分是做什么的。有人可以帮我解释一下:
elif x % 2 == 0:
return False
for b in range(3,int(x**0.5 +1)):
if x % b == 0:
return False
else:
return True
答案 0 :(得分:0)
检查x是否为素数
x % 2 == 0
检查x是否为偶数,或者换句话说,当它除以2时没有余数
for b in range(3,int(x**0.5 +1)): if x % b == 0: return False
如果有一个数字除以x而没有余数,则检查从3到x / 2 + 1。 以前的案例检查了1和2,没有必要检查大于x / 2的数字是否除x而没有余数,因为没有余数。