Bash
ProjectEuler
数学

Project Euler Q46 【もうひとつのゴールドバッハの予想】

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

問題

Christian Goldbachは全ての奇合成数は平方数の$2$倍と素数の和で表せると予想した.

$9 = 7 + 2×1^2$
$15 = 7 + 2×2^2$
$21 = 3 + 2×3^2$
$25 = 7 + 2×3^2$
$27 = 19 + 2×2^2$
$33 = 31 + 2×1^2$

後に, この予想は誤りであることが分かった.

平方数の$2$倍と素数の和で表せない最小の奇合成数はいくつか?

解答

seq 3 2 9999 |
factor |
awk 'NF!=2{print $1*1}' |
awk '{printf $1" ";for(i=1;i<=(sqrt($1/2));i++){printf $1-2*i^2" "};print ""}' |
awk '{printf $1" "NF-1" ";for(i=2;i<=NF;i++){for(j=2;j<=sqrt($i);j++){if($i%j==0||$i==1){g[NR]+=1;break}}};print g[NR]}' |
awk '$2==$3{print $1}' |
head -1
5777

答え合わせ

こちらのサイト様と一致していればOKとした。
Project Euler 46 Odd number not a prime plus twice a square in C#