2009-04-24から1日間の記事一覧

Project Euler 29 別解

Q29. abの形(2 ≤ a ≤ 100, 2 ≤ b ≤ 100)の整数の数 99*99=9801から重複する数を引く。 まず、aが2乗から6乗で表される整数に分ける(なるべく大きいべき乗に入れる)。そして、例えば4乗なら、a = c4として、a20 = c80、a72 = (c3)96などと、より小さい底で…

Project Euler 28 別解

Q28. 1を原点にスパイラル状に自然数を1001*1001個並べたときの、対角線上にある数の和 右下:4n2-2n+1 左下:4n2 +1 左上:4n2+2n+1 右上:4n2+4n+1という数列になっているので、和を取って、さらに公式を使って総和を求めればよい。 N = 1001 n = N / 2 pr…

Project Euler 25 別解

Q25. フィボナッチ数列で最初に1000桁になるのは何項目か これも一般項表示してやればすぐに出てくる。 from math import sqrt, logN = 1000 print int( (log(5) / 2 + (N - 1) * log(10)) / log( (1 + sqrt(5)) / 2)) + 1

Project Euler 25〜32

プロジェクトオイラー http://projecteuler.net/index.php Q25. フィボナッチ数列で最初に1000桁になるのは何項目か Q26. 1〜1000の逆数で最も長い循環の周期は 10倍して割り算して余りを得る。これを繰り返して、同じ余りになるまでが周期。 Q27. n2 + an +…