Project Euler#3 询问给定数字的最大素数因子,我将其命名为num2
。
我已经使用以下方法解决了这个问题:
i = 2
while num2 != 1:
if num2 % i == 0:
num2 /= i
else:
i += 1
print(i)
但我发现这段代码无法理解:
i = 2
while num2 > i ** 2:
while num2 % i == 0:
num2 = num2 // i
i = i + 1
print(num2)
有人可以向我解释为什么检查num2 > i * i
吗?