Чтобы уменьшить дробь в Python, вы можете использовать несколько методов. Вот несколько подходов:
Метод 1: использование математического модуля и функции gcd
import math
def reduce_fraction(numerator, denominator):
gcd = math.gcd(numerator, denominator)
reduced_numerator = numerator // gcd
reduced_denominator = denominator // gcd
return reduced_numerator, reduced_denominator
numerator = 12
denominator = 36
reduced_numerator, reduced_denominator = reduce_fraction(numerator, denominator)
print(reduced_numerator, reduced_denominator)
Метод 2. Использование цикла для поиска наибольшего общего делителя (НОД)
def reduce_fraction(numerator, denominator):
smaller = min(numerator, denominator)
for i in range(2, smaller + 1):
if numerator % i == 0 and denominator % i == 0:
gcd = i
reduced_numerator = numerator // gcd
reduced_denominator = denominator // gcd
return reduced_numerator, reduced_denominator
numerator = 12
denominator = 36
reduced_numerator, reduced_denominator = reduce_fraction(numerator, denominator)
print(reduced_numerator, reduced_denominator)
Метод 3. Использование рекурсивной функции для поиска НОД (алгоритма Евклида)
def gcd(a, b):
if b == 0:
return a
return gcd(b, a % b)
def reduce_fraction(numerator, denominator):
gcd_value = gcd(numerator, denominator)
reduced_numerator = numerator // gcd_value
reduced_denominator = denominator // gcd_value
return reduced_numerator, reduced_denominator
numerator = 12
denominator = 36
reduced_numerator, reduced_denominator = reduce_fraction(numerator, denominator)
print(reduced_numerator, reduced_denominator)