From 5527cda74cf6425eb3a3bc4a299bce75e227ca54 Mon Sep 17 00:00:00 2001 From: Zhongheng Liu Date: Tue, 26 Nov 2024 13:12:32 +0000 Subject: feat: fib recursion --- recursion/recursion.py | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) (limited to 'recursion/recursion.py') diff --git a/recursion/recursion.py b/recursion/recursion.py index 7b93f0e..11678b3 100644 --- a/recursion/recursion.py +++ b/recursion/recursion.py @@ -1,5 +1,5 @@ def fact(n: int): return n * fact(n-1) if n != 0 else 1 - +def compound(p: int, r: float, y: int): return p if y == 0 else compound(p*r, r, y-1) def print_fib(a, b, l): print(a) print(b) @@ -11,7 +11,27 @@ def print_next_fib(a: int, b: int, l: int): return print(a+b) return print_next_fib(b, a+b, l-1) - +def fib_nth(n: int): + if n == 1: + return 0 + if n == 2: + return 1 + return fib_nth(n-1) + fib_nth(n-2) for i in range(1, 10): print(fact(i)) -print_fib(1, 1, 10) \ No newline at end of file +print_fib(0, 1, 10) +wage = 3000 +print(fib_nth(5)) +def payback(tuition: int, rate: int, salary: int): + years = 0 + remaining = tuition * 4 + + while remaining > 0: + remaining -= salary + years += 1 + remaining *= rate + print(f"Year {years}: remaining: {remaining}") + print(years) +#payback(36800, 1.06, (43129-3170*12)) + +print(compound(36800*4, 1.06, 10) / (43129-3170*12)) \ No newline at end of file -- cgit