新手在这里。我一直在试图找到数字 1 到 10 的最小公倍数。到目前为止我的代码
def smallest_multiple():
a = 0
while True:
a += 1
if a%1 == 0 and a%2 == 0 and a%3 == 0 and a%4 == 0 and a%5 == 0 and a%6 == 0 and a%7 == 0 and a%8 == 0 and a%9 == 0 and a%10 == 0:
return a
print(smallest_multiple())
我的结果是 2520,这似乎是正确的。它是可以被数字 1 到 10 整除而没有余数的最小数字。但是有没有办法通过迭代它们来使 5 行更短(不是那么多的模数)?我试过这样的事情
def smallest_multiple():
a = 0
while True:
a += 1
for i in range(1, 11):
if a % i == 0:
return a
print(smallest_multiple())
但它只返回 1,而不是 2520。有没有办法让
if a%1 == 0 and a%2 == 0 and a%3 == 0 and a%4 == 0 and a%5 == 0 and a%6 == 0 and a%7 == 0 and a%8 == 0 and a%9 == 0 and a%10 == 0:
更短?
慕工程0101907
aluckdog
千万里不及你
相关分类