Лучшие помощники
- Megamozg 2200 б
- Matalya1 1800 б
- DevAdmin 1705 б
- arkasha_bortnikov 895 б
- Dwayne_Johnson 860 б
11 апреля 2023 06:06
440
СРОЧНО!!!
Даны две дроби A/B и C/D (A, B, C, D - натуральные числа). Составить программу умножения дроби на дробь. Ответ должен быть несократимой дробью. Использовать подпрограмму алгоритма Евклида для определения НОД.
РЕШИТЬ НА ЯЗЫКЕ python!! пожалуйста
1
ответ
Конечный код:
```python
def gcd(a, b):
while b:
a, b = b, a % b
return a
def multiply_fractions(a, b, c, d):
numerator = a * c
denominator = b * d
gcd_val = gcd(numerator, denominator)
return numerator // gcd_val, denominator // gcd_val
a = int(input("Введите числитель первой дроби: "))
b = int(input("Введите знаменатель первой дроби: "))
c = int(input("Введите числитель второй дроби: "))
d = int(input("Введите знаменатель второй дроби: "))
result = multiply_fractions(a, b, c, d)
print("Результат умножения дробей: {}/{}".format(result[0], result[1]))
```
Объяснение:
Функция `gcd` использует алгоритм Евклида для нахождения наибольшего общего делителя двух чисел.
Функция `multiply_fractions` принимает четыре аргумента: числитель и знаменатель первой дроби, а также числитель и знаменатель второй дроби. Она умножает дроби, находит наибольший общий делитель числителя и знаменателя результата, и возвращает несократимую дробь.
В основной части программы мы запрашиваем у пользователя числитель и знаменатель двух дробей, затем вызываем функцию `multiply_fractions` и выводим результат.
```python
def gcd(a, b):
while b:
a, b = b, a % b
return a
def multiply_fractions(a, b, c, d):
numerator = a * c
denominator = b * d
gcd_val = gcd(numerator, denominator)
return numerator // gcd_val, denominator // gcd_val
a = int(input("Введите числитель первой дроби: "))
b = int(input("Введите знаменатель первой дроби: "))
c = int(input("Введите числитель второй дроби: "))
d = int(input("Введите знаменатель второй дроби: "))
result = multiply_fractions(a, b, c, d)
print("Результат умножения дробей: {}/{}".format(result[0], result[1]))
```
Объяснение:
Функция `gcd` использует алгоритм Евклида для нахождения наибольшего общего делителя двух чисел.
Функция `multiply_fractions` принимает четыре аргумента: числитель и знаменатель первой дроби, а также числитель и знаменатель второй дроби. Она умножает дроби, находит наибольший общий делитель числителя и знаменателя результата, и возвращает несократимую дробь.
В основной части программы мы запрашиваем у пользователя числитель и знаменатель двух дробей, затем вызываем функцию `multiply_fractions` и выводим результат.
0
·
Хороший ответ
11 апреля 2023 06:09
Остались вопросы?
Еще вопросы по категории Информатика
Достоинство растрового изображения: 1)четкие и ясные контуры 2)небольшой размер файлов 3)точность цветопередачи 4)возможность масштабирования без п...
Программист Петя пишет сортировку методом выбора. Пока что он реализовал только фрагмент, в котором в массиве ищется минимальный элемент, который зате...
Персонаж известной компьютерной игры Марио постарел и почти перестал прыгать. Но совсем недавно он увидел спуск из N ступенек, и его накрыло ностальги...
Счетчик команд - это a) микроскеми б) регистр УУ В) АЛУ г)устройство управления...
Производится двухканальная (стерео) звукозапись с частотой дискретизации 32 кГц и 32-битным разрешением. Результаты записи записываются в файл, сжатие...
Все предметы