|
打印了f(1 /5 )的递归过程,整数出现的次序
def f(x):
#
if x.denominator==1 rint(x);return x
elif x<1:return f(Fraction(1,1-x))
else:return f(Fraction(1,math.ceil(x)-x)-1+f(x-1))
>>> f( Fraction(3,2))
2
3
Fraction(3, 1)
>>> f( Fraction(1,5))
2
3
2
3
4
5
2
3
2
3
4
5
2
3
4
5
6
7
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
12
13
Fraction(13, 1)
|
|