1) Напишите программу, которая вычисляет наименьшее общее кратное двух чисел. Входные данные - два натуральных числа

1) Напишите программу, которая вычисляет наименьшее общее кратное двух чисел. Входные данные - два натуральных числа, a и b, разделённые пробелом. Гарантируется, что ответ не превосходит 2⋅109. Программа должна вывести одно натуральное число - НОК заданных чисел. Примеры ввода и вывода:
Пример ввода:
14 21
Пример вывода:
42

2) Дана дробь ab. Требуется сократить её, то есть записать это же число в виде cd, где c - целое число, d - натуральное число и d минимальное возможное. Входные данные - два целых числа a и b (–100≤a≤100, –100≤b≤100). Программа должна вывести два целых числа c и d, образующих сокращенную дробь. Примеры ввода и вывода:
Пример ввода:
2 4
Пример вывода:
1 2
Жанна

Жанна

Задача 1:
Для вычисления наименьшего общего кратного (НОК) двух чисел воспользуемся алгоритмом Евклида. Этот алгоритм основан на том, что НОК двух чисел равен произведению самих чисел деленному на их наибольший общий делитель (НОД).

Для начала, прочитаем входные данные, а и b. Для этого воспользуемся функцией input(). После чего преобразуем введенные значения в целые числа с помощью функции int().

Далее, реализуем функцию для нахождения НОД двух чисел. Воспользуемся алгоритмом Евклида, который заключается в таком простом действии, как деление одного числа на другое с остатком, и повторяем это действие до тех пор, пока остаток не будет равен нулю. НОД будет равен последнему ненулевому остатку.

После нахождения НОД, вычисляем НОК, используя формулу \(\text{НОК} = \frac{a \times b}{\text{НОД}(a,b)}\).

Наконец, выводим результат, который будет являться НОК заданных чисел.

Вот код, решающий данную задачу:

python
a, b = map(int, input().split())

def gcd(a, b):
while b:
a, b = b, a % b
return a

lcm = (a * b) // gcd(a, b)

print(lcm)


Примеры ввода и вывода:
Пример ввода:

14 21

Пример вывода:

42


---

Задача 2:
Для сокращения дроби \( \frac{a}{b} \) необходимо найти их наибольший общий делитель (НОД), а затем поделить числитель и знаменатель дроби на этот НОД.

Для начала, прочитаем входные данные, a и b, с помощью функции input(). После чего преобразуем введенные значения в целые числа с помощью функции int().

Далее, реализуем функцию для нахождения НОД двух чисел. Воспользуемся алгоритмом Евклида, который заключается в таком простом действии, как деление одного числа на другое с остатком, и повторяем это действие до тех пор, пока остаток не будет равен нулю. НОД будет равен последнему ненулевому остатку.

После нахождения НОД, делим числитель и знаменатель дроби на НОД и получаем сокращенную дробь.

Наконец, выводим результат, который будет представлен двумя числами, c и d.

Вот код, решающий данную задачу:

python
a, b = map(int, input().split())

def gcd(a, b):
while b:
a, b = b, a % b
return a

common_divisor = gcd(abs(a), abs(b))

c = a // common_divisor
d = b // common_divisor

print(c, d)


Примеры ввода и вывода:
Пример ввода:

6 9

Пример вывода:

2 3


Надеюсь, что мое объяснение и примеры помогли понять решение задач.
Знаешь ответ?
Задать вопрос
Привет!
hello