Вопрос задан 14.03.2026 в 09:01.
Предмет Информатика.
Спрашивает DELETED.
Напишите программу нахождения наибольшего общего делителя трех чисел, используя следующую формулу: НОД(A, B, C) = НОД(НОД(A, B), C). Используйте алгоритм Евклида.
Ответы на вопрос
Отвечает Кузнецов Никита.
Нужно найти НОД трёх чисел по формуле:
То есть сначала находим НОД двух чисел и , затем берём результат и находим его НОД с . Для НОД двух чисел используем алгоритм Евклида: пока второе число не стало нулём, заменяем пару на . Когда , ответ — это .
Ниже пример программы на Python.
Pythondef gcd(a, b):
# Алгоритм Евклида для двух чисел
a, b = abs(a), abs(b) # на случай отрицательных чисел
while b != 0:
a, b = b, a % b
return a
def gcd_three(a, b, c):
# НОД(A, B, C) = НОД(НОД(A, B), C)
return gcd(gcd(a, b), c)
# Ввод трёх чисел
A, B, C = map(int, input().split())
# Вывод результата
print(gcd_three(A, B, C))
Как это работает:
-
gcd(A, B)вычисляет НОД первых двух чисел по Евклиду. -
Полученный результат снова передаётся в
gcd(…, C), что и даёт НОД трёх чисел согласно формуле.
Пример:
-
Ввод:
24 36 18 -
НОД(24,36)=12 -
НОД(12,18)=6 -
Вывод:
6
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili

