Даны два натуральных числа n и m.
Сократите дробь (n / m), то есть выведите два других числа p и q таких, что (n / m) = (p / q) и дробь (p / q) — несократимая.
Решение оформите в виде функции ReduceFraction(n, m), получающая значения n и m и возвращающей кортеж из двух чисел: return p, q.
Тогда вывод можно будет оформить как print(*ReduceFraction(n, m)).
Формат ввода
Вводятся два натуральных числа.
Формат вывода
Выведите ответ на задачу.
Python
Помогите решить программу на Python
import math
def ReduceFraction(n, m):
t = math.gcd(n, m)
return n // t, m // t
print(*ReduceFraction(*map(int, input().split()))) # 2 числа в одной строке
# или
print(*ReduceFraction(int(input()), int(input()))) # по одному числу в строке
Сокращение дроби можно осуществить с помощью нахождения наибольшего общего делителя (НОД) числителя и знаменателя. В Python для этого существует встроенная функция `math.gcd()`.
Вот решение задачи:
```python
import math
def ReduceFraction(n, m):
gcd = math.gcd(n, m)
return n // gcd, m // gcd
n = int(input())
m = int(input())
print(*ReduceFraction(n, m))
```
В этом коде функция `ReduceFraction(n, m)` вычисляет НОД для двух чисел `n` и `m`, а затем делит `n` и `m` на НОД, чтобы получить сокращённую дробь. Функция возвращает два числа в виде кортежа.
Затем мы принимаем два числа на ввод и выводим результат работы функции `ReduceFraction(n, m)`. Используется распаковка кортежа с помощью `*`, чтобы вывести два числа, разделённые пробелом.
Вот решение задачи:
```python
import math
def ReduceFraction(n, m):
gcd = math.gcd(n, m)
return n // gcd, m // gcd
n = int(input())
m = int(input())
print(*ReduceFraction(n, m))
```
В этом коде функция `ReduceFraction(n, m)` вычисляет НОД для двух чисел `n` и `m`, а затем делит `n` и `m` на НОД, чтобы получить сокращённую дробь. Функция возвращает два числа в виде кортежа.
Затем мы принимаем два числа на ввод и выводим результат работы функции `ReduceFraction(n, m)`. Используется распаковка кортежа с помощью `*`, чтобы вывести два числа, разделённые пробелом.
Для решения данной задачи на Python можно использовать алгоритм нахождения наибольшего общего делителя (НОД) чисел n и m. После нахождения НОДа, мы делим числа n и m на этот НОД, чтобы получить несократимую дробь.
Вот пример реализации функции ReduceFraction(n, m):
```python
def ReduceFraction(n, m):
# Находим НОД чисел n и m
def gcd(a, b):
while b:
a, b = b, a % b
return a
# Находим НОД для чисел n и m
greatest_common_divisor = gcd(n, m)
# Делим числа n и m на НОД
p = n // greatest_common_divisor
q = m // greatest_common_divisor
return p, q
# Считываем входные данные
n = int(input())
m = int(input())
# Выводим результат
print(*ReduceFraction(n, m))
```
Вы можете использовать эту функцию, чтобы решить задачу. Она принимает значения n и m и возвращает кортеж из двух чисел (p и q), которые представляют несократимую дробь. Затем вы можете вывести результат, используя `print(*ReduceFraction(n, m))`.
Вот пример реализации функции ReduceFraction(n, m):
```python
def ReduceFraction(n, m):
# Находим НОД чисел n и m
def gcd(a, b):
while b:
a, b = b, a % b
return a
# Находим НОД для чисел n и m
greatest_common_divisor = gcd(n, m)
# Делим числа n и m на НОД
p = n // greatest_common_divisor
q = m // greatest_common_divisor
return p, q
# Считываем входные данные
n = int(input())
m = int(input())
# Выводим результат
print(*ReduceFraction(n, m))
```
Вы можете использовать эту функцию, чтобы решить задачу. Она принимает значения n и m и возвращает кортеж из двух чисел (p и q), которые представляют несократимую дробь. Затем вы можете вывести результат, используя `print(*ReduceFraction(n, m))`.
Похожие вопросы
- Помогите написать программу на Python, моя версия кода на скрине, вроде всё работает, но автопроверка не проходит.
- Пожалуйста, помогите решить задачу на Python. Упражнения 57,58,59,60.
- Пожалуйста, помогите решить задачу на Python. Упражнение 124, 125, 146
- Помогите решить задачу на Python. Никак не могу решить задачу, больше дня не могу найти ответ! Никакой код не работает.
- Помогите написать программу на python
- Помогите с программой на python библиотека tkinter
- Помогите составить программу в Python. заранее спасибо!
- Помогите решить задачу на python! Упражнение 41,45,47.
- Помогите решить задачу на python! Упражнение 49,50,51,52,53.
- Помогите решить задачку в Python (!)