38 lines
1.4 KiB
Python
38 lines
1.4 KiB
Python
''' ****** Задание 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) |