継続分数は、分数を反復的に記述する式です。それらはグラフィカルに表すことができます:
または、値のリストとして表すことができます。 [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
。それは技術的には「単一の分数」であり、おそらく「最も単純な形の単一の分数」と言いたいでしょう。