のてすきあ − 完全独習非プログラマー −

Haskell で Project Euler を解く素人遊び

2020-04-11から1日間の記事一覧

Problem 14

100万までの数の中で、最も長いコラッツ列を生成する数を求める コラッツ列: cn が偶数なら cn+1 = cn/2, 奇数ならcn+1 = 3*cn+1 ... と続く数列 まずは素直に書いてみる。 これで答えは出る。ただし時間が掛かる。私のデスクトップで、答えが出るまで3分ち…

Re:Problem 11

下の20☓20の数字列からタテ・ヨコ・ナナメいずれかに4つ並んだ数字の積を取ったときの最大値を求める。 2020/04/11追記: なんとData.Listに標準でtranspose関数があることが判明。しかもそちらの方が優秀で、それを使えばナナメ成分を拾うのが格段に簡単にな…

Problem 13

以下の50桁の数を100個足した答えのはじめの10桁を求める (50桁の数:省略) …? なんの工夫もいらない。唯一の注意点は "Use Integer!" である。 あとは、10桁を取る際に、Stringにしてtake10する方法と、Integer のままで10桁になるまで10で割り続ける方…