【问题描述】用递归方法求数列“1,1,1,3,5,9,17,31……”的前20项。
【输入形式】无
【输出形式】用print函数在屏幕上输出结果
【样例输入】无
【样例输出】1,1,1,3,5,9,17,31,57,105,193,355,653,1201,2209,4063,7473,13745,25281,46499
【样例说明】数列中的数据从第四项开始分别是前三项之和
【评分标准】
def f(n):
if n == 1 or n == 2 or n == 3: # 数列前三项的值都为1
return 1
else:
return f(n-3)+f(n-2)+f(n-1)
# 从第4项开始某项是前三项之和
for i in range(1, 20):
print(f(i),end=",") # 输出前19项的值
print(f(20)) # 输出第20项的值