Bash
ProjectEuler
数学

Project Euler Q56 【もっとべき乗の数字和】

More than 1 year has passed since last update.

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