diff --git a/Гарифуллин Марат/README.md b/Гарифуллин Марат/README.md new file mode 100644 index 0000000..80de02d --- /dev/null +++ b/Гарифуллин Марат/README.md @@ -0,0 +1,10 @@ +# Вычисление факториала хвостовой рекурсией +## Cсылка на видеоразбор +https://youtu.be/d7vrUHXSpFo +## Код из книги + #let rec tfact x n = + if n = 0 then x + else tfact (x * n) (n - 1); + tfact : int -> int -> int = + #let fact n = tfact 1 n;; + fact : int -> int = \ No newline at end of file diff --git a/Гарифуллин Марат/hvost_rec.rkt b/Гарифуллин Марат/hvost_rec.rkt new file mode 100644 index 0000000..c3f155c --- /dev/null +++ b/Гарифуллин Марат/hvost_rec.rkt @@ -0,0 +1,11 @@ +#lang racket + +(define (tfact x n) + (cond + [(equal? n 0) x] + [else (tfact (* x n)(- n 1))])) + +(define (fact n) + (tfact 1 n)) + +