Python 練習例28

Python 100例

問題:5人が座っています。5人目の年齢を聞くと、4人目より2歳年上だと言いました。4人目の年齢を聞くと、3人目より2歳年上だと言いました。3人目に聞くと、2人目より2歳年上だと言いました。2人目に聞くと、1人目より2歳年上だと言いました。最後に1人目に聞くと、10歳だと言いました。では、5人目は何歳ですか?

プログラム分析:再帰の方法を利用します。再帰は順方向の推論(递推)と逆方向の推論(回推)の2つの段階に分けられます。5人目の年齢を知るには、4人目の年齢を知る必要があり、順に類推して1人目(10歳)まで遡り、そこから逆算します。

プログラムソースコード:

例

#!/usr/bin/python # -*- coding: UTF-8 -*- def age(n): if n == 1: c = 10 else: c = age(n - 1) + 2 return c print (age(5))

上記の例の出力結果は次の通りです:

18

Python 100例

その他の拡張