■
(define (fib n) (if *1 (fib (- n 2)))))
def fib1(n): return n <= 2 and 1 or fib1(n-1) + fib1(n-2) def fib2(n): if n <= 2: return 1 else : return fib2(n-1) + fib2(n-2)
Haskell でパターンマッチを利用しての関数宣言。
fib :: Integer -> Integer fib 1 = 1 fib 2 = 1 fib n = fib(n-1) + fib(n-2)
let rec fib n = match n with 1 -> 1 | 2 -> 1 | _ -> fib(n-1) + fib(n-2);;
*1:<= n 2) 1) (+ (fib (- n 1