递归统计递加到20的不同过程
题目说明
有一个游戏:有两个人,第一个人先从1和2中挑一个数字,第二个人可以在对方的基础上选择加1或者加2,然后又轮到第一个人,他也可以选择加1或者加2,
之后再把选择权交给对方,就这样双方交替地选择加1或者加2,谁先加到20,谁就赢了。在不考虑谁输谁赢的情况下,从一开始(以1或2为起点)加到20,
有多少种不同的递加过程?比如1,4,7,10,12,15,18,20算一种;2,5,8,11,14,17,20又是一种。那么一共会有多少种这样的过程呢?
我们可以用递归算法来解决这个问题,请补全代码。
def guo_cheng(n):
if ① :
return 1
return ②
# 输出所有过程的个数
print (guo_cheng( ③ ))
评分标准
-
n==1 or n==2(3分) -
guo_cheng(n-1)+guo_cheng(n-2)(4分) -
20(3分)
本题为编程题,提交代码并运行通过测试点后判分。
正在加载题目数据…
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析