Сделал 15 задание
This commit is contained in:
parent
53d8e28cee
commit
e3ab2d1646
38
lesson.15.py
Normal file
38
lesson.15.py
Normal file
|
|
@ -0,0 +1,38 @@
|
||||||
|
''' ****** Задание 15 из 20 *********
|
||||||
|
* Из местного НИИ снова обратились за помощью. Им снова нужно находить наибольший общий делитель (НОД) — теперь по целой строке чисел.
|
||||||
|
Хорошо, что у нас есть опыт!
|
||||||
|
|
||||||
|
Напишите программу, которая находит НОД всех чисел, введённых в одной строке через пробел.
|
||||||
|
|
||||||
|
Формат ввода
|
||||||
|
В единственной строке записывается последовательность натуральных чисел, разделённых пробелами.
|
||||||
|
|
||||||
|
Формат вывода
|
||||||
|
Требуется вывести одно натуральное число — НОД всех данных чисел.
|
||||||
|
|
||||||
|
Примечание
|
||||||
|
Самый распространенный способ поиска НОД — Алгоритм Эвклида.
|
||||||
|
|
||||||
|
|
||||||
|
Подсказка
|
||||||
|
Возьмите за основу задачу F из предыдущего параграфа, заменив процесс ввода данных.
|
||||||
|
|
||||||
|
Пример 1
|
||||||
|
Ввод
|
||||||
|
|
||||||
|
12 42
|
||||||
|
Вывод
|
||||||
|
|
||||||
|
6
|
||||||
|
'''
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
numbers = list(map(int, input().split()))
|
||||||
|
a = numbers[0]
|
||||||
|
while len(numbers) > 1:
|
||||||
|
b = numbers[1]
|
||||||
|
while b:
|
||||||
|
a, b = b, a % b
|
||||||
|
numbers.pop(1)
|
||||||
|
print(a)
|
||||||
Loading…
Reference in a new issue