Bash
ProjectEuler
数学

Project Euler Q9 【特別なピタゴラス数】

Project Eulerをワンライナーで解いてみる。
間違っていたらコメントください。

問題

ピタゴラス数(ピタゴラスの定理を満たす自然数)とは $a < b < c$ で以下の式を満たす数の組である.
$a^2 + b^2 = c^2$

例えば, $3^2 + 4^2 = 9 + 16 = 25 = 5^2$ である.

$a + b + c = 1000$ となるピタゴラスの三つ組が一つだけ存在する.
これらの積 $abc$ を計算しなさい.

解答

seq 1000 |
awk '{for(i=$1;i<=1000;i++){print sqrt($1^2+i^2),$1,i}}' |
awk '$1+$2+$3==1000{print $1*$2*$3}'
31875000

最初は数学的に紙と鉛筆で解こうと思ったが、途中でよくわからなくなった。。
ワンライナーでやったらすぐ終わったよ。。

答え合わせ

こちらのサイト様と一致していればOKとした。
Python で Project Euler #9「特別なピタゴラス数」