fork download
  1. def meta_fib(n):
  2. if n == 1 or n == 2:
  3. return 1
  4. else:
  5. return 1 + meta_fib(n - 1) + meta_fib(n - 2)
  6.  
  7. def fib(n):
  8. if n == 1 or n == 2:
  9. return 1
  10. else:
  11. return fib(n - 1) + fib(n - 2)
  12.  
  13. for a in range(1, 11):
  14. mf = meta_fib(a)
  15. f = fib(a)
  16. print("meta_fib({a}): {mf}, fib({a}): {f}, meta_fib({a}) - fib({a}): {delta}".format(a = a, mf = mf, f = f, delta = mf - f))
Success #stdin #stdout 0.04s 9388KB
stdin
Standard input is empty
stdout
meta_fib(1): 1, fib(1): 1, meta_fib(1) - fib(1): 0
meta_fib(2): 1, fib(2): 1, meta_fib(2) - fib(2): 0
meta_fib(3): 3, fib(3): 2, meta_fib(3) - fib(3): 1
meta_fib(4): 5, fib(4): 3, meta_fib(4) - fib(4): 2
meta_fib(5): 9, fib(5): 5, meta_fib(5) - fib(5): 4
meta_fib(6): 15, fib(6): 8, meta_fib(6) - fib(6): 7
meta_fib(7): 25, fib(7): 13, meta_fib(7) - fib(7): 12
meta_fib(8): 41, fib(8): 21, meta_fib(8) - fib(8): 20
meta_fib(9): 67, fib(9): 34, meta_fib(9) - fib(9): 33
meta_fib(10): 109, fib(10): 55, meta_fib(10) - fib(10): 54