LoginSignup
1
1

More than 5 years have passed since last update.

Project Euler Q4 【最大の回文積】

Last updated at Posted at 2017-10-02

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

問題

左右どちらから読んでも同じ値になる数を回文数という. 2桁の数の積で表される回文数のうち, 最大のものは $9009 = 91 × 99$ である.

では, 3桁の数の積で表される回文数の最大値を求めよ.

解答

前提:求める値は6桁であろう(ループを少なくしたかった)。

seq 900 999 |
awk '{for(i=900;i<=999;i++){printf("%d ",i*$1)}}' |
xargs -n1 |
sed -r 's/\B/ /g' |
awk '$3$2$1==$4$5$6{print $1$2$3$4$5$6}' |
sort -u |
tail -1
906609

awkの部分をうまく書き直したい。。

[2017/10/03追記]
taramさんから教えて頂いた解答

seq 900 999 |
awk '{for(i=$1;i<=999;i++){print i*$1}}' |
awk -v FS= '$3$2$1==$4$5$6{print $1$2$3$4$5$6}' |
sort -u |
tail -1
906609

スッキリしました(*^_^*)

答え合わせ

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

1
1
2

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