Задача к ЕГЭ по информатике на тему «практика программирования» №20

Напишите две функции, каждая из которых принимает в качестве аргументов натуральное число n  . Первая функция должна вычислять НОК(a,b)  , вторая — НОД(a,b)  .

Примечание: наименьшим общим кратным двух чисел a  и b  называется наименьшее число c  , такое, что  c  делится и на a  , и на b  . Наибольшим общим делителем двух чисел a  и b  называется наибольшее число c  , такое, что и a  , и b  делятся на c  .

Входные данные:

В первой строке входных данных записаны два числа a  , b  (1 ≤ a,b ≤ 100  ). В качестве ответа, запишите через пробел результат работы двух функций для чисел: a = 78  , b = 36  , сначала для функции НОК, а затем для функции НОД.

Пример входного файла:

16  12

Пояснение к примеру:

НОК(16,12) = 48  , НОД(16,12) = 4  . Поэтому ответ на данный пример — 4  48  .

def nok(a, b):
    for i in range(1, 100000):
        if (i % a == 0) and (i % b == 0):
            return i


def nod(a, b):
    res = 1
    for i in range(2, 100000):
        if (a % i == 0) and (b % i == 0):
            res = i
    return res


a, b = map(int, input().split())
print(nok(a, b), nod(a, b))

Ответ: 468 6
Оцените статью
Я решу все!