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

オイラープロジェクトカンニング履歴 - (2012/11/18 (日) 15:35:16) のソース

会津大学オンラインジャッジの問題とおなじくカンニングして解いたオイラープロジェクトの問題のリスト。
数学の問題集を扱ったサイトなので調べものして数学の知識を身につけながら解くのが正道な気がするが、一応出来るだけ自力で解きたいところ。
なのでカンニングして解いた問題のリストを掲載。


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



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

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

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

*問い80
1~100までの平方根のうち無理数になる数の集合を考える。 
この集合の100桁目までの各桁の和の合計はどうなるか?

平方根を100ケタ精度で求める方法がわからなかったのでこのサイトを参考に問題を解いた。 
http://www004.upp.so-net.ne.jp/s_honma/root.htm 





*問い209問い209
http://projecteuler.net/problem=209
条件を満たす真理値表の数を返すという問題。
最初問題の題意がつかめなかったのでYahooで問題の題意を聞いて解いた。
直接的な回答はなかったが題意さえつかめれば後は簡単な問題でした。