2010-02-22から1日間の記事一覧

Project Euler 57,58

Problem 57 http://projecteuler.net/index.php?section=problems&id=57 時間がかかるのは桁数のカウント。 num_digits 0 = 0 num_digits n = 1 + (num_digits (div n 10)) a = take 1000 ((1,1):[ (p + q * 2, p + q) | (p, q) <- a ]) main = print (lengt…

Project Euler 92

Problem 92 前に出てきた数になるまで新しい数を作るよう数のチェーンが数の各桁の平方和を連続的に加えることにより作られる。 例えば、 44 → 32 → 13 → 10 → 1 → 1 85 → 89 → 145 → 42 → 20 → 4 → 16 → 37 → 58 → 89 ゆえに1か89に到達するどのチェーンも…