示例#1
0
def expand(n):
	if n <= 0:
		return (0,1)
	if not n in lookup.keys():
		frac = addf((2,1), expand(n-1))
		lookup[n] = (frac[1], frac[0])
	return lookup[n]
示例#2
0
def eval_continued(cont, depth):
	if depth <= 0:
		return (0,1)
	n = cont.next()
	f = addf( (n,1), eval_continued(cont, depth-1) )
	f = (f[1], f[0])
	return f
示例#3
0
def expand(n):
    if n <= 0:
        return (0, 1)
    if not n in lookup.keys():
        frac = addf((2, 1), expand(n - 1))
        lookup[n] = (frac[1], frac[0])
    return lookup[n]
示例#4
0
def sqrt2(n):
	return addf( (1,1), expand(n) )
示例#5
0
def eval_continued_fraction(fraction, depth):
	assert(len(fraction) == 2)
	return addf( (fraction[0],1),  eval_continued(fraction[1], depth) )
示例#6
0
def sqrt2(n):
    return addf((1, 1), expand(n))