diff options
Diffstat (limited to 'recursion/recursion.py')
-rw-r--r-- | recursion/recursion.py | 26 |
1 files changed, 23 insertions, 3 deletions
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 |