2009-04-22から1日間の記事一覧
プロジェクトオイラー http://projecteuler.net/index.php Q9. ピタゴラスの数の組合せで、和が1000ときの積 自然数m,nでm > nとして、 a = m2 - n2 b = 2mn c = m2 + n2 とできる(ただし、aとbの大小は任意)。 a + b + c = 2m(m + n) 2 これでかなり絞り…
プロジェクトオイラー http://projecteuler.net/index.php Q6. 100までの総和の自乗と自乗和の差 和の公式を使えばよい。 N = 100 print N * (N ** 2 - 1) * (3 * N + 2) / 12
プロジェクトオイラー http://projecteuler.net/index.php 切りがないので、素直に解いたものはまとめて載せるようにした。 数学的な考察のある解法は別途。 Q3. 600851475143の最大の素因数 Q4. 3桁×3桁で最大の回文数 Q5. 1〜20で割り切れる最小の自然数 Q…
プロジェクトオイラー http://projecteuler.net/index.php Q2. フィボナッチ数列の4000000を超えない偶数項の和。 from itertools import takewhiledef fib(): a, b = 1, 2 while True: if a & 1 == 0: yield a a, b = b, a + bN = 4000000 print reduce(lam…
Project Euler http://projecteuler.net/index.php 存在を知ってはいたが、見たことはなかった。 最初から解いていこうと思う。 まず、Pythonで素直に書く。できれば数学的に考察した解も書く。 Q1. 3か5で割り切れる自然数で1000より小さいものの和。 a = f…