teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

誤字訂正

2021/03/29 06:30

投稿

seastar3
seastar3

スコア2287

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

誤字訂正

2021/03/29 06:30

投稿

seastar3
seastar3

スコア2287

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: がない場合、スタックオーバーフローエラーで停止するのです。