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

Project Euler 36,37

Problem 36 http://projecteuler.net/index.php?section=problems&id=36 再帰的に10進の回文数を求めて2進でも回文になっているか判定する。2進数の回文数は末尾が1でなければならない。 bin_rev 0 = [] bin_rev n = (mod n 2):(bin_rev (div n 2)) numerize…

Project Euler 72(2)

φ関数といえば、nの約数に亘って和を取るとnになる、という定理があります。Pythonで書くとこんなイメージです。 n == sum(map(phi, filter(lambda d: n % d == 0, range(1, n + 1))))これを利用できないでしょうか。 1 + … + 100 にこの定理を適用すると、 …