Факториал.Хвостовая рекурсия

This commit is contained in:
2022-05-12 19:05:00 +03:00
parent f27315172d
commit 1883662b9a
2 changed files with 21 additions and 0 deletions

View File

@@ -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 = <fun>
#let fact n = tfact 1 n;;
fact : int -> int = <fun>

View File

@@ -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))