好吧,任务是找到可以由1-20的所有数字均匀划分的最小倍数。
我的代码效率低下,而且据我所知已经完全过时了,因为您可以通过乘以素数来解决此问题。
但是我该如何缩短if-part?
a=20
b=0
while b<1:
if (a%20==0 and
a%19==0 and
a%18==0 and
a%17==0 and
a%16==0 and
a%15==0 and
a%14==0 and
a%13==0 and
a%12==0 and
a%11==0 and
a%10==0 and
a%9==0 and
a%8==0 and
a%7==0 and
a%6==0 and
a%5==0 and
a%4==0 and
a%3==0 and
a%2==0):
b=1
else:
a=a+1
print(a)
答案 0 :(得分:3)
if all(a%x==0 for x in range(2,21)):