Česky
Kamil Dudka

Tiny programs (C, C++, C#, ...)

File detail

Name:Downloadfunkce.lsp [Download]
Location: tiny > IZU > lisp
Size:553 B
Last modification:2022-09-09 13:06

Source code

;faktorial
 
(defun fact (n)
       (cond ((= n 1) 1)
	     (t (* n (fact (- n 1))))))
 
;----------------
;fibonacci
; fib (0) = 0
; fib (1) = 1
; fib (n) = fib (n-1) + fib (n-2)
 
(defun fib (n) 
  (cond
    ((= n 0) 0)
    ((= n 1) 1)
    (t (+ (fib (- n 1)) (fib (- n 2)) ))
  )
)
 
 
;ackermanova fce
;m >= 0, n >= 0
;ack(0, n) = n+1
;ack(m, 0) = ack(m-1, 1)
;ack(m, n) = ack(m-1, ack(m, n-1))
 
(defun ack (m n) 
  (cond
    ((= m 0) (+ n 1))
    ((= n 0) (ack (- m 1) 1))
    (t (ack (- m 1) (ack m (- n 1))))
  )
)