回答編集履歴
2
誤字訂正
answer
CHANGED
@@ -3,5 +3,5 @@
|
|
3
3
|
toatal(3 + total(2 + total(1 + total(0))))
|
4
4
|
total(0)=0なので、
|
5
5
|
答は、6です。
|
6
|
-
機械語レベルで、各関数の作業場所の先頭番地がLIFO方式でスタックされて、n=0まで行くわけです。そして、n=0のときに跳ね返ることが許さ
|
6
|
+
機械語レベルで、各関数の作業場所の先頭番地がLIFO方式でスタックされて、n=0まで行くわけです。そして、n=0のときに跳ね返ることが許されて、スタックがほどかれていき、答が決まります。
|
7
7
|
したがって、お考えのように無限ループ的に各関数がスタックを重ねていけば、メモリーオーバーも起こりえますが、if n < 0: がない場合、スタックオーバーフローエラーで停止するのです。
|
1
誤字訂正
answer
CHANGED
@@ -3,5 +3,5 @@
|
|
3
3
|
toatal(3 + total(2 + total(1 + total(0))))
|
4
4
|
total(0)=0なので、
|
5
5
|
答は、6です。
|
6
|
-
機械語レベルで、各関数の作業場所の先頭番地がLIFO方式でスタックされて、n=0まで行くわけです。そして、n=0のときに跳ね返ることが許させて、スタックがほど
|
6
|
+
機械語レベルで、各関数の作業場所の先頭番地がLIFO方式でスタックされて、n=0まで行くわけです。そして、n=0のときに跳ね返ることが許させて、スタックがほどかれていき、答が決まります。
|
7
7
|
したがって、お考えのように無限ループ的に各関数がスタックを重ねていけば、メモリーオーバーも起こりえますが、if n < 0: がない場合、スタックオーバーフローエラーで停止するのです。
|