Python 3.5.2中的Euler 3项目

时间:2016-09-18 15:12:04

标签: python python-3.x

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吗?

0 个答案:

没有答案