数学に触れる機会が増えてきて。総和記号をみる都度「forループでいけるよねこれ」と思ってたけど。
やってる人が普通にいた。
総和記号 Σ(シグマ)。
pythonの数学ライブラリとか使えばすぐできるんだろうけど、中で何やってるかイマイチ分からない。自分で実現したい。
まずはこれを例題に。
変数i を(1から5まで)増やしていって、合計値をsumに格納することにする。
$ sum=0; for i in $(seq 1 5); do echo 'iは'"$i"; if [[ "$i" < $((i+1)) ]]; then echo "足します"; sum=$((sum + i)); echo 'sumは'"$sum"; echo '-----'; fi; done
bash は変数の足し算にクセがある。以前(古いbash)ではexprコマンドを使っていたようだけど、今は $(( ドル記号なしの変数 の計算式 )) で計算できるようだ。
これもやってみる。
$ sum=0; for i in $(seq 1 5); do echo 'iは'"$i"; if [[ "$i" < $((i+1)) ]]; then echo "計算します"; sum=$((sum + (2*i-1))); echo 'sumは'"$sum"; echo -----; fi; done
ループ(繰り返し)についてのこの指摘はナルホドと思った。
bashだとこう。
seqコマンドを理解していれば間違えることは無さそう。次回はPythonでやってみる。