「オイラープロジェクトカンニング履歴」の編集履歴(バックアップ)一覧に戻る

オイラープロジェクトカンニング履歴 - (2012/08/27 (月) 10:33:07) の編集履歴(バックアップ)


問い12

問題を解く方法がよくわからず掲示板で質問。
コードまで書いてもらうもコードの読解や原理がよくわからず考え中。



問い25

フィナボッチ数が1000桁になるのは数列の何個目か?
単純に1000ケタを超えるまでフィナボッチ数列を計算して解こうと挑戦。
ほとんどコードを書いたことがないLispで解こうと考え、初心者レベルのコードを記述してみて実行時エラー。
掲示板でloop中の(が一つ多いでのでsetqのあたりが余分に関数と解釈されてると指摘を受けそれを修正してアセプト。

(defun getUP (n)
(if (= n 0)
1
(* 10 (getUP (1- n)))))
getUP

(defun calc ()
(let *1)
(loop
(setq n3 (+ n1 n2))
(if (>= n3 up) (return i))
(setq n1 n2)
(setq n2 n3)
(incf i 1))))
calc
(calc)
4782