リンク元
昨日の戌氏のコメントにレスをつけようと思ったら、
こんな語句で検索してきた方がいらっしゃった。
"C言語" and "n番目のフィボナッチ数"
たぶん、課題か何かなんだろうな。
しかし残念なことに日記には書いてなかったので、
さぞがっかりしたことだでしょう。
もしかしたら課題が一瞬で終わるかもしれなかったものね。
せっかくなので、次着た時はわかるようにソースを記述しておくね。
果たしてもう一度くるかな?来たら答えはホラこれさ!
丸写しでGO!
; getFibonacci (defun getFibonacci (num) (if (integerp num) (if (< 0 num) (Fibonacci 1 1 (- num 2)) 0) nil)) (defun Fibonacci (now next num) (if (< num 1) next (Fibonacci next (+ now next) (- num 1))))
な、な、なんと6行と3行の function で出来ちゃうんです!!
一応解説すると(わかってると思うけど^^;)
num (任意の整数) 番目のフィボナッチ数を返すプログラムだよ!
検索ワードの条件と同じ処理だね!
(getFibonacci 777)
こんな風に使ってね!
ちなみに結果は
1081213530912648191985419587942084110095342850438593857649766278346130479286685742885693301250359913460718567974798268702550329302771992851392180275594318434818082
だってさ。
たぶんあってるよ。
変数名やら関数名にセンスがないけどそこはキミの持ち前のセンスで改名しちゃってください><
これでもう、課題はばっちりだね!
ただ、LISPだけどね!