连续分数是迭代描述分数的表达式。它们可以用图形表示:
或者它们可以表示为值列表: [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
。从技术上讲,这是“单个分数”,您可能要说“最简单的形式是单个分数”。