новичок здесь.Я пытался найти наименьшее общее число, кратное числам 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:
короче?