• Предмет: Информатика
  • Автор: maksvasilenko2109
  • Вопрос задан 1 год назад

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

Ответы

Ответ дал: psevdoedison
5

Ответ:

chislo1 = int(input("Введите число а "))

chislo2 = int(input("Введите число b "))

while chislo1 != 0 and chislo2 != 0:

   if chislo1 > chislo2:

       chislo1 = chislo1 % chislo2

   else:

       chislo2 = chislo2  % chislo1

print(chislo1 + chislo2)

Объяснение:

НОД числа:

берутся два числа. большее число = остаток от деления большего на меньшее. Затем опять большее число (может быть уже второе) = остаток от деления большего на меньшее, и так до тех пор, пока одно из них не станет равно 0. И выводится большее число. В случае если числа равны друг другу, находится остаток от деления второго числа на первое: 0, и выводится первое число. Т.е всё работает.


BobbyFresnel: "В питоне интересно действует цикл for, нигде такого не видел. " - ну и в чем особый интерес? Во всех остальных языках это цикл foreach. "В питоне гораздо быстрее пишется код." Быстрее, чем в С++ ? Согласен. Нo не быстрее, чем в PascalABC.NET. Точнее, пишется в некоторых случаях чуть быстрее, но обычно интересует не скорость написания кода, а общее время от начала создания программы и до завершения ее отладки.
BobbyFresnel: А на Питоне зачастую отлаживать программу труднее, потому что его кажущееся достоинство - динамическая типизиция - нередко оборачивается ненадежным кодом. То, что в других языках мгновенно ловит компилятор, в Питоне можно отлавливать десятками минут и даже часами. Возможно, Вам пока не встречались задачи объемом в несколько тысяч строк кода. "Можно в любом месте добавить новую переменную". - В PascalABC.NET, как и в С++, переменная описывается там, где в ней появляется надобность.
BobbyFresnel: " Есть много библиотек, упрощающих работу и добавляющих отсутствующий функционал." - более того, их СЛИШКОМ много. Даже какой-то синус или квадратный корень нужно тащить из библиотеки. Это то самое "проклятие С-подобных языков", когда новично должен держать под рукой словарик, в котором написано, что где лежит. Это Вы называете достоинством языка?.
BobbyFresnel: А как считаете, в среде .NET много библиотек? PascalABC.NET, как полный .NET-язык. Надо - можно легко подключить любую dll, например от С++, Fortran и т.д.
BobbyFresnel: Ну и напрямую работа со всеми библиотеками .NET-среды.
BobbyFresnel: Вот этим паскаль удобен. А главное, еше раз: программа на нем НАДЕЖНА. А в Питоне можно полгода эксплуатировать программу, а потом она слетит лишь потому, что комбинация данных привела к проходу по ветке, где ни разу не ходили, а там ошибка.
BobbyFresnel: Я всегда спрашиваю поклонников Питона, согласились бы она лететь на самолете, электроника которого управляется программой на Питоне. Пока еще никто не ответил утвердительно.
BobbyFresnel: Ну и последнее. Как думаете, Гвидо ван Россум почему бросил свое детище?
psevdoedison: Опять таки, Вы доказываете мне, что паскаль - круто, питон - ужасно. Смысл? Никто мнения не изменит, ни Вы ни я.
BobbyFresnel: Не доказываю. Обосновываю собственную позицию. Вы перечислили то, что считатете достоинствами Питона. Я лишь ответил, что это кажущиеся достоинства. Кажущиеся Вам. И вовсе я не предлагал менять Вам свое мнение. Я сделал для себя вывод насчет еще одного приверженца Питона. Это как с айфонами. Есть группа сектантов, ничего другого не приемлющих, которых даже и переубеждать никто не хочет. Продолжайте писать на Питоне. Всего Вам хорошего))
Вас заинтересует