def get_fraction(c): (n, d) = (1, 2) for i in xrange(1, c): (n, d) = (2*d+n, d) # add 2 (n, d) = (d, n) # 1/x, swap entries return (d+n, d) # add 1 count = 0 for i in xrange(1, 1000): (n, d) = get_fraction(i) if len(str(n)) > len(str(d)): count += 1 print count