再帰関数の動作追跡

(2019)

Hiroshi Fukuda

1~kまでの整数の和を計算するJavaの再帰的メソッドsumr(k)

static int sumr(int k)

{

int s;

if (k==1) {

s=1;

} else {

s=sumr(k-1)+k;

}

return s;

}

の動作を,再帰的callの前後でkの値を表示して,追跡してみます。

(1) 再帰的計算の直前にkの値を表示する文を挿入すると(k=4):

解説ムービー

(2) 再帰的計算の直後にkの値を表示する文を挿入すると(k=4):

解説ムービー