Найти период дроби (scheme)
Задано число k, которое не делится на 2 и 5. Необходимо вывести период дроби 1/k в виде списка.
Честно говоря, очень долго пытаюсь реализовать всякими разными способами, но по итогу либо программа не запускается совсем, либо работает не совсем корректно. Понимаю, что решение задачи очень простое, но никак не выходит... Помогите...
Ответы (1 шт):
Автор решения: MBo
→ Ссылка
Сверьтесь с рабочим алгоритмом на Python (судя по умножению на 10, в вашем коде (схемы я не знаю) что-то подобное может использоваться)
def period(k):
m = 10
l = 1
while m%k != 1:
m*=10
l+=1
p = str(m // k)
#дополним длину нулями для случаев типа 009009009...
while len(p) < l:
p = "0" + p
return p
print(period(11))
print(period(7))
print(period(19))
09
142857
052631578947368421