Summary Files Commits Branches @commit @diff @stats
path: root / Year 2 / Functional Programming
diff options
context:
space:
mode:
1 files changed, 23 insertions, 0 deletions
-rw-r--r--Year 2/Functional Programming/01-Practice-03.11.2022.rkt23
diff --git a/Year 2/Functional Programming/01-Practice-03.11.2022.rkt b/Year 2/Functional Programming/01-Practice-03.11.2022.rkt
new file mode 100644
index 0000000..463bfde
--- /dev/null
+++ b/Year 2/Functional Programming/01-Practice-03.11.2022.rkt
@@ -0,0 +1,23 @@
+(define (avgsqr a b)
+ (define (sqr x)
+ (* x x))
+ (/ (+ (sqr a) (sqr b)) 2))
+
+(define (fac x)
+ (if (<= x 1)
+ 1
+ (* x (fac (- x 1)))))
+
+(define (minfib maxval)
+ (define (minfib maxval [a 1] [b 1])
+ (if (> b maxval)
+ a
+ (minfib maxval b (+ a b))))
+ (minfib maxval))
+
+(define (fib x)
+ (if (<= x 1)
+ 1
+ (+ (fib (- x 2)) (fib (- x 1)))))
+
+