GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/eintr/Decrementing-Example.html ・ emacs-doc.conao3.com

デクリメントカウンタの例

デクリメントカウンタを用いたループを例に、カウンタが0になるまで減少するようにtriangle関数を書き直します。

これは、この関数の以前のバージョンとは逆の処理です。今回の場合、3段の三角形を作るのに必要な小石の数を求めるには、3段目の小石の数である3を、その前の段の数である2に足し、さらにその2段の合計を、さらに前の段である1に足します。

同様に、7行ある三角形に含まれる小石の数を求めるには、7行目の小石の数である7を、その前の行の数である6に足し、さらにその2行の合計を、さらに前の行の数である5に足す、という操作を繰り返します。前の例と同様に、各加算で扱うのは、それまでに合計した行の数と、合計に加える行の小石の数という、わずか2つの数だけです。この2つの数を足す作業は、足すべき小石がなくなるまで繰り返し行われます。

最初に何個の小石があるかは分かっています。最後の段の小石の数は、段の数に等しくなります。三角形が7段であれば、最後の段の小石の数は7個です。同様に、その前の段に何個の小石があるかも分かっています。それは、その段の数より1個少ない数です。