Продовжувані дроби - це вирази, які ітераційно описують дроби. Вони можуть бути представлені графічно:
Або їх можна представити у вигляді списку значень: [a0; a1, a2, a3, ... an]
Змагання:
візьміть базовий номер: і список знаменників: і спростіть продовження дробу до спрощеного раціонального дробу: поверніть чи друкуйте чисельник і знаменник окремо.a0
[a1, a2, a3, ... an]
Приклади:
√19 : [4;2,1,3,1,2]: 170/39
ℯ: [1;0,1,1,2,1,1]: 19/7
π: [3;7,15,1,292,1]: 104348/33215
ϕ: [1;1,1,1,1,1]: 13/8
Приклад реалізації: (python)
def foo(base, sequence):
numerator = 1
denominator = sequence[-1]
for d in sequence[-2::-1]:
temp = denominator
denominator = d * denominator + numerator
numerator = temp
return numerator + base * denominator, denominator
2.002
можна виразити як2002/1000
. Технічно це "одиничний дріб", ви, мабуть, хочете сказати, "одиничний дріб у його найпростішому вигляді".