Python問題集を解いてみよう!!

Pythonクイズ No.4

当ページのリンクには広告が含まれています。
PythonクイズNo.4
目次

問題

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

解答

正解は。。。

正解は A

16

です。

解説

自分自身を呼び出す再帰関数の問題です。

foo()は簡単な再帰関数なので、順番に追っていけば悩むことは無いでしょう。

出力するのはfoo(7)です。

70より大きいので、foo(7)7 + foo(5)を返します。

50より大きいので、foo(5)5 + foo(3)を返します。

30より大きいので、foo(3)3 + foo(1)を返します。

10より大きいので、foo(1)1 + foo(-1)を返します。

-10以下なので、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クイズNo.4

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

目次