Project Eulerをワンライナーで解いてみる。
間違っていたらコメントください。
問題
$Googol (10^{100})$は非常に大きな数である: $1$の後に$0$が$100$個続く. $100^{100}$は想像を絶する. $1$の後に$0$が$200$回続く. その大きさにも関わらず, 両者とも数字和 ( 桁の和 ) は$1$である.
$a, b < 100$ について自然数 $a^b$ を考える. 数字和の最大値を答えよ.
解答
time seq 99 |
awk -M '{for(i=1;i<=99;i++){print $1^i}}' |
awk -v FS= '{for(i=1;i<=NF;i++){s[NR]+=$i};print s[NR]}' |
sort -k1,1nr |
head -1
972
real 0m0.536s
user 0m0.543s
sys 0m0.137s
ただ計算すればいいので特にコメントはない。
awk
の-M
オプションが使用できる環境が必要。
答え合わせ
こちらのサイト様と一致していればOKとした。
http://kingyojima.net/pje/056.html