Программа для поиска наименьшего числа, которое делится на все числа от 1 до 20

Ниже приведен код, в котором я пытался вычислить решение указанной проблемы. Но ничего не возвращает. Что не так с моим кодом?

flag = False
i = 20
while flag==False:
    c = 0    
    for x in range(1,21):
        if i%x==0:
            c = c + 1
    if c==20:
        print i
        flag = True
    i = i + 1 

Говоря, что он ничего не возвращает, вы имеете в виду, что он никогда не завершается (выполнение этого кода может занять много времени!) Или что? Он когда-нибудь печатает число? Как вы пробовали его отлаживать?

Ken Y-N 26.10.2018 09:24

Возможный дубликат Вычислить НОК списка заданных чисел в Python

Ken Y-N 26.10.2018 09:30
c никогда не будет 20, когда вы выйдете из петли for x. Добавьте print(c) непосредственно перед if c==20, чтобы увидеть, что у вас есть бесконечный цикл, который никогда не достигает 20. (Возможно, подключитесь к less или чему-то еще, чтобы вы не переполняли свой терминал).
tripleee 26.10.2018 09:55

Кстати, вам больше не следует изучать Python 2. Python 3 - это поддерживаемая рекомендуемая версия языка. Срок службы версии 2 должен был быть прекращен в начале этого года, хотя она получила несколько дополнительных лет в терминальном обслуживании в результате неудачного компромисса.

tripleee 26.10.2018 09:56
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
4
307
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вот мой код на Python. Мы можем просто сделать это вот так. импортные фракции

def lcm(n):
    x=1
    for i in range(1, n+1):
        x = (x*i)/fractions.gcd(x,i)
    return x

ans = lcm(20)
print(ans)

Другие вопросы по теме