Project Euler 75, ピタゴラス数

http://projecteuler.net/index.php?section=problems&id=75

原始ピタゴラス数を求めて、その外周和の倍数をカウントしていく方法で実装しました。
Rubyで3秒。


ピタゴラス数というのは、a^2 + b^2 = c^2 を満たす自然数 (a,b,c) のことで、原始ピタゴラス数というのは、その中でもa,b,cのどの2数も互いに素な関係を満たすもののことです。

そして、原始ピタゴラス数というのは以下の一般形で表現されるということを知っていると、コードがすごく楽に書けます。

a = m^2 - n^2
b = 2mn
c = m^2 + n^2
(ここで、m, n は互いに素であり、m, n の偶奇は異なる.)


というのは、実は数学ガールの2巻目を読んで初めて知ったことなんですよね。
数学ガール、ナイスです!

数学ガールはすごく面白かったので、これをネタに1つエントリーを書こうと思っています。なので、ここでは深くは触れないでおきます。

でもリンクは貼っとこw

数学ガール/フェルマーの最終定理 (数学ガールシリーズ 2)

数学ガール/フェルマーの最終定理 (数学ガールシリーズ 2)