1 #题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?


代码:


1
2
3
4
5
6
   2 
   3  li  =  [ 0 ] * 5
   4  li[ 0 =  10
   5  for  in  range ( 1 , 5 ):
   6      li[i]  =  li[i - 1 +  2
   7  print ( '第五个人是%d岁' % li[ 4 ])


运行结果:


1
2
3
[root@HK code_100] # python code_28.py 
第五个人是 18
[root@HK code_100] #


代码解释:


1
2
3
4
5
6
7
  #思路:这个题采用递推算法解决,在初始值确定,之后数字有规律的情况下用递推算法比较合适
   2 
   3  li  =  [ 0 ] * 5                         #生成一个有5个元素,值全为0的列表
   4  li[ 0 =  10                         #将第一个值赋值为10
   5  for  in  range ( 1 , 5 ):               #遍历这个列表
   6      li[i]  =  li[i - 1 +  2            #递推算法,后一个元素的值是前一个元素的值加2
   7  print ( '第五个人是%d岁' % li[ 4 ])        #打印第五个人的岁数