目次
問題
次のコードを実行した時の出力として正しいものは A 〜 D のどれでしょうか?

解答
正解は。。。
正解は A の
16です。
解説
自分自身を呼び出す再帰関数の問題です。
foo()は簡単な再帰関数なので、順番に追っていけば悩むことは無いでしょう。
出力するのはfoo(7)です。
7は0より大きいので、foo(7)は7 + foo(5)を返します。
5は0より大きいので、foo(5)は5 + foo(3)を返します。
3は0より大きいので、foo(3)は3 + foo(1)を返します。
1は0より大きいので、foo(1)は1 + foo(-1)を返します。
-1は0以下なので、foo(-1)は0を返します。
よって、foo(7)→ 7 + foo(5)→7 + 5 + foo(3)→7 + 5 + 3 + foo(1)→7 + 5 + 3 + 1 + foo(-1)→7 + 5 + 3 + 1 + 0となり、出力は16になります。
Google Colaboratory
下記リンクからアクセスして、Google Colaboratory 上で実際にコードを実行して、結果を確認していただけます。
おわりに
X で Python クイズを配信しています。
#Pythonクイズ
— Taklog (@taklog_info) September 29, 2023
No.12
次のコードを実行した時の出力として正しいものは A 〜 D のどれでしょうか? #Python #pythonprogramming pic.twitter.com/jOX7RxY8to
よかったらフォローしてください!
以上です。



コメント