https://goo.gl/Blbbd Problem 48 - PukiWiki
seq 1000 | awk '{printf $1"^"$1"+"}' | sed 's/^/(/;s/.$/)%10000000000\n/' | bc
9110846700 real 0m1.386s user 0m1.360s sys 0m0.000s
深いことは考えず bc で愚直に計算します
入力式: (1^1+2^2+....+1000^1000)%10000000000
# 1..1000を生成
seq 1000 |
# n^n+ を生成(改行しないで1行で)
awk '{printf $1"^"$1"+"}' |
# 行頭に '(' を加え、末尾の '+' を ')%10000000000\n' に変換
sed 's/^/(/;s/.$/)%10000000000\n/' |
# bc で計算
bc
bc の代わりに dc を使ってみる
計算式: 1 1 ^ 2 2 ^ ... 1000 1000 ^ +++...+(999個) 10000000000 % p
(seq 1000 | awk '{print $1,$1,"^"}'; yes '+' | head -n 999; echo '10000000000 % p') | dc
9110846700 real 0m1.374s user 0m1.360s sys 0m0.000s