我能在for循环中扩展范围吗



这是Project Euler网站上的一个问题,我似乎无法解决。如果我试图除以的数字不能被x整除,我想扩大for循环的范围。问题在顶部。有什么想法吗?

# 2520 is the smallest number that can be divided by each of the numbers from 1 to 10 without any remainder.
# What is the smallest positive number that is evenly divisible by all of the numbers from 1 to 20?
def main():
num = 0
to = 20
for num in range(1, to):
isDivisible = True
for x in range(1, 20):
if num % x != 0:
isDivisible = False
to += 1    #Here I try to extend the loop
continue
if isDivisible:
print(num)
break

main()

我不确定这是真的,但:

def f(x):
z = 1
for i in range(1, x + 1):
for i_2 in range(1,i + 1): #Check the multipliers! For example, since the number 9 is multiplied by 3 before, if it is multiplied by 3 again, it becomes a layer.
if i % i_2 == 0 and ( z * i_2 ) % i == 0:
z *= i_2
break
print(z)
f(20)

232792560

最新更新