diff --git a/57.py b/57.py new file mode 100755 index 0000000000000000000000000000000000000000..bdfa3ac8909a4614f49f55d9ba9e14abdd046555 --- /dev/null +++ b/57.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python +# https://en.wikipedia.org/wiki/Continued_fraction#Some_useful_theorems + +def nom(n): + nexth = hp = hpp = 1 + + while n > 0: + nexth = 2 * hp + hpp + hpp = hp + hp = nexth + n -= 1 + + return nexth + +def denom(n): + kpp = 0 + nextk = kp = 1 + + while n > 0: + nextk = 2 * kp + kpp + kpp = kp + kp = nextk + n -= 1 + + return nextk + +def ndig(n, base=10): + i = 0 + + while n > 0: + i += 1 + n /= base + + return i + +count = 0 + +for n in xrange(1, 1001): + if ndig(nom(n)) > ndig(denom(n)): + count += 1 + +print count