Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Написать программу, переводящую дробную часть числа в 6-ую систему счисления с определением периода.
- def convert_fraction_to_base_6(numerator, denominator):
- int_part = numerator // denominator
- remainder = numerator % denominator
- # Если остаток равен 0, то дробная часть отсутствует
- if remainder == 0:
- return f"{int_part}.0"
- # Инициализируем список для хранения остатков и результат
- remainders = []
- fraction_part = ""
- # Пока остаток не равен 0 и не встретился повторяющийся остаток
- while remainder != 0 and remainder not in remainders:
- remainders.append(remainder)
- remainder *= 6
- fraction_part += str(remainder // denominator)
- remainder %= denominator
- # Если остаток стал равен 0, то дробная часть конечна
- if remainder == 0:
- return f"{int_part}.{fraction_part}"
- # Иначе найден период
- period_start = remainders.index(remainder)
- non_repeating = fraction_part[:period_start]
- repeating = fraction_part[period_start:]
- return f"{int_part}.{non_repeating}({repeating})"
- m, n = int(input("Введите числитель дроби: ")), int(input("Введите знаменатель дроби: "))
- print(convert_fraction_to_base_6(m, n))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement