http://odz.sakura.ne.jp/projecteuler/index.php?cmd=read&page=Problem%2080
seq 100 | awk 'int(sqrt($1))^2!=$1' | sed 's/^/scale=100;sqrt(/;s/$/)/'|BC_LINE_LENGTH=0 bc |sed 's/./& /g;s/\.//' | awk '{for(i=1;i<=100;i++){a+=$i}}END{print a}'
40886 real 0m0.127s user 0m0.130s sys 0m0.023s
# 初めの100個の自然数
seq 100 |
# 無理数を抽出
awk 'int(sqrt($1))^2!=$1' |
# bcで100桁を算出
sed 's/^/scale=100;sqrt(/;s/$/)/'|BC_LINE_LENGTH=0 bc |
# 100桁をスペース区切りにする(小数点は削除する)
sed 's/./& /g;s/\.//' |
# 100桁分、足し算する
awk '{for(i=1;i<=100;i++){a+=$i}}END{print a}'