2008-12-07から1日間の記事一覧

Problem 138

http://projecteuler.net/index.php?section=problems&id=138 のペル方程式に帰着。 next (x,y) = (9*x+20*y,4*x+9*y) p138 = map snd.iterate next $ (38,17) main = print.sum.take 12$ p138

Problem 137

http://projecteuler.net/index.php?section=problems&id=137 またペル方程式である。結局 をとけばよいことが分かる。で、また、フィボナッチ数が出てくると。 そういう話らしい。 fib = 0:1:zipWith(+) fib (tail fib) nugget = f fib where f (x:y:zs) = …

Problem 136

http://projecteuler.net/index.php?section=problems&id=136とりあえず、100まで調べて 奇素数nに対して、nに対する解が唯一 iff n=3 (mod 4) 奇素数nに対して、4nに対する解は唯一 奇素数nに対して、16nに対する解は唯一 まで分かった。 他の合成数に対し…

Problem 135

http://projecteuler.net/index.php?section=problems&id=135 まず、ナイーブな方法。約数を求めて、利用。 import Data.List divisors n = (1,n):d n 2 where d x m | m^2 > x = [] | mod x m == 0 = (m,div x m):d x (m+1) | otherwise = d x (m+1) sol = …

Problem 140

http://projecteuler.net/index.php?section=problems&id=140 {-- A_G(x) = \frac{x^3 +x}{1-x-x^2} = n D(n) = 5n^2+14n+1 = d^2 X^2-5Y^2=44 X^2-5Y^2=\pm 4 -> X_0=1,Y_0=1 X^2-5Y^2= 11 -> X_0=4,Y_0=1 X^2-5Y^2=-11 -> X_0=3,Y_0=2 --} next (x,y) = (d…

Problem 139

http://projecteuler.net/index.php?section=problems&id=139 {-- X^2+(X+d)^2 = (dY)^2 -> (2X+d)^2-(2d^2)Y^2= -d^2 -> x^2-2y^2 = -1 where X = d*(x-1)/2, Y = y perimeter is X+(X+d)+Y = d(x+y) --} next (x,y) = (3*x+4*y,2*x+3*y) main = print.sum.…