08/06/24 11:48:10
>>256 載ってるアルゴリズムをpythonで書き下しただけだぜ
def liter(l):
while len(l):
yield l[0]
l = l[1]
def make_farray(n):
farray = [(0,1), [(1,1), []]]
done = False
while not done:
car, cdr = farray[0], farray[1]
done = True
while cdr:
cadr = cdr[0]
mid = (car[0] + cadr[0], car[1] + cadr[1])
if mid[1] <= n:
cdr[:] = [mid, [cdr[0], cdr[1]]]
done = False
car, cdr = cdr[0], cdr[1]
return farray
if __name__ == '__main__':
for n in range(2,10):
fa = make_farray(n)
print " ".join("%d/%d" % x for x in liter(fa))