Finished existing ipython solutions to python. Ready to continue in pure python.
This commit is contained in:
@@ -1,8 +1,31 @@
|
||||
from lib_misc import gcd
|
||||
from lib_misc import get_digit_count
|
||||
|
||||
|
||||
def add_fractions(n1, d1, n2, d2):
|
||||
d = d1 * d2
|
||||
n1 = n1 * (d // d1)
|
||||
n2 = n2 * (d // d2)
|
||||
n = n1 + n2
|
||||
p = gcd(n, d)
|
||||
return (n // p, d // p)
|
||||
|
||||
|
||||
def next_expension(n, d):
|
||||
n, d = add_fractions(1, 1, n, d)
|
||||
return add_fractions(1, 1, d, n)
|
||||
|
||||
|
||||
def euler_057():
|
||||
return 0
|
||||
c = 0
|
||||
n, d = (3, 2)
|
||||
for i in range(1000):
|
||||
if get_digit_count(n) > get_digit_count(d):
|
||||
c += 1
|
||||
n, d = next_expension(n, d)
|
||||
return c
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
print("e057.py: " + str(euler_057()))
|
||||
assert(euler_057() == 0)
|
||||
assert(euler_057() == 153)
|
||||
|
||||
Reference in New Issue
Block a user