1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | ;; This function takes a non-negative integer and returns an integer. (defun f (x) (cond ((atom x) (f (list x 1 0))) (t (let ((n (car x)) (a (cadr x)) (b (caddr x))) (cond ((<= n 0) b) (t (f (list (- n 1) b (+ a b))))))))) ;; User interface (defun main () (princ "Enter a non-negative integer: ") (let ((a (read))) (princ (f a)))) ;; Run main function (main) |
OzsgVGhpcyBmdW5jdGlvbiB0YWtlcyBhIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyIGFuZCByZXR1cm5zIGFuIGludGVnZXIuCihkZWZ1biBmICh4KQogIChjb25kICgoYXRvbSB4KSAoZiAobGlzdCB4IDEgMCkpKQogICAgICAgICh0CiAgICAgICAgICAobGV0ICgobiAoY2FyIHgpKSAoYSAoY2FkciB4KSkgKGIgKGNhZGRyIHgpKSkKICAgICAgICAgICAgKGNvbmQgKCg8PSBuIDApIGIpCiAgICAgICAgICAgICAgICAgICh0IChmIChsaXN0ICgtIG4gMSkgYiAoKyBhIGIpKSkpKSkpKSkKCjs7IFVzZXIgaW50ZXJmYWNlCihkZWZ1biBtYWluICgpCiAgKHByaW5jICJFbnRlciBhIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyOiAiKQogIChsZXQgKChhIChyZWFkKSkpCiAgICAocHJpbmMgKGYgYSkpKSkKCjs7IFJ1biBtYWluIGZ1bmN0aW9uCihtYWluKQo=
-
upload with new input
-
result: Success time: 0.02s memory: 10584 kB returned value: 0
2
Enter a non-negative integer: 1
-
result: Success time: 0.02s memory: 10584 kB returned value: 0
1
Enter a non-negative integer: 1



