LoginSignup
1
1

More than 5 years have passed since last update.

Project Euler Q49 【素数数列】

Posted at

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

問題

項差$3330$の等差数列$1487, 4817, 8147$は次の$2$つの変わった性質を持つ.

(i)$3$つの項はそれぞれ素数である.
(ii)各項は他の項の置換で表される.

$1, 2, 3$桁の素数にはこのような性質を持った数列は存在しないが, $4$桁の増加列にはもう$1$つ存在する.

それではこの数列の$3$つの項を連結した$12$桁の数を求めよ

解答

seq 1000 $((9999-2*3330)) |
factor |
awk 'NF==2{print $1*1,$1+3330,$1+2*3330}' |
factor |
tr ' ' '_' |
xargs -n3 |
tr '_' ' ' |
awk 'NF==6{print $2$4$6}' |
awk -v FS= '{delete a;for(i=1;i<=NF;i++){a[$i]=1};print $0,length(a)}' |
awk '$2<=4{print $1}' |
tail -1
296962999629

最初は問題文の読み取りが正しく出来なかった。公差$3330$であることも条件のひとつだとは読み取れなかったし、各数字もユニークでなければならないと思った。

答え合わせ

こちらのサイト様と一致していればOKとした。
http://kingyojima.net/pje/049.html

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1