Data update

This commit is contained in:
Ingy döt Net 2024-10-16 18:07:41 -07:00
parent 81fd053722
commit 52a6ef48dd
10248 changed files with 63654 additions and 6775 deletions

View file

@ -0,0 +1,6 @@
(defun fib (n &optional (f1 0) (f2 1))
(if (< n 0)
(format t "Parameter must be >= 0")
(if (zerop n)
f1
(fib (1- n) f2 (+ f1 f2)))))

View file

@ -1,17 +1,14 @@
fun fibonacci = int by int n
if n < 0 do
logLine("Invalid argument: " + n) # logs on standard error
return -1 ^| it should be better to raise an error,
| but the task is about recursive functions
|^
end
fun actualFibonacci = int by int n
return when(n < 2, n, actualFibonacci(n - 1) + actualFibonacci(n - 2))
fun fibonacci ← int by int n
if n < 0
logLine("Invalid argument: " + n)
return -1 # we could raise an error instead
end
fun actualFibonacci ← <int n|when(n < 2,
n, actualFibonacci(n - 1) + actualFibonacci(n - 2))
return actualFibonacci(n)
end
writeLine("F(0) = " + fibonacci(0))
writeLine("F(20) = " + fibonacci(20))
writeLine("F(-10) = " + fibonacci(-10))
writeLine("F(30) = " + fibonacci(30))
writeLine("F(10) = " + fibonacci(10))
writeLine("F(0) = ", fibonacci(0))
writeLine("F(20) = ", fibonacci(20))
writeLine("F(-10) = ", fibonacci(-10))
writeLine("F(30) = ", fibonacci(30))
writeLine("F(10) = ", fibonacci(10))