Advertisement
Guest User

Untitled

a guest
Sep 23rd, 2019
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.61 KB | None | 0 0
  1. # https://projecteuler.net/problem=65
  2.  
  3.  import math
  4.  
  5. # Euler 65
  6. # returns numerator, denominator
  7. def recE(n, j, k):
  8.     if n == 1:
  9.         k = math.ceil(j/3)
  10.         if j % 3 == 2:
  11.             return [1, 2 * k]
  12.         else:
  13.             return [1, 1]
  14.     else:
  15.         r = recE(n - 1, j + 1, k)
  16.         if j % 3 == 2:
  17.             k = math.ceil(j / 3)
  18.             return [r[1], 2 * k * r[1] + r[0]]
  19.         else:
  20.             return [r[1], r[1] + r[0]]
  21.         j -= 1
  22.  
  23.  
  24. for a in range(1, 11):
  25.     b = recE(a, 1, 1)
  26.     print(a, "\t", b, "\t", 2 * b[1] + b[0], "/", b[1], "\t", (2 * b[1] + b[0]) / b[1])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement