#lang racket (define (tfact x n) (cond [(equal? n 0) x] [else (tfact (* x n)(- n 1))])) (define (fact n) (tfact 1 n))