【基础入门题026】佩尔数列Pell(n)

x33g5p2x  于2021-11-23 转载在 其他  
字(0.6k)|赞(0)|评价(0)|浏览(243)

【基础入门题】2021.11.22

佩尔数列是一个扩展版的斐波那契数列,它的第一项为0,第二项为1,第三项是第二项的二倍加上第一项 ;第四项是第三项的二倍加上第二项,以此类推。
Pell(n) = 0 ,1, 2,5,12, 29, 70, 169 ,408, 985 ,2378 ...

编程语言:包括但不限于Python
题目来源:派森特给站每日刷题频道

方法一:递归

def Pell(n):
    if n<4: return n-1
    return Pell(n-2)+2*Pell(n-1)
 
print(','.join(map(str,[Pell(i) for i in range(1,12)])))

#输出: 0,1,2,5,12,29,70,169,408,985,2378

方法二:循环

def Pell(n):
    p,q = 0,1
    for i in range(2, n+1):
        p,q = q,p+2*q
    return p

print(','.join(map(str,[Pell(i) for i in range(1,12)])))

#输出: 0,1,2,5,12,29,70,169,408,985,2378

欢迎加入csdn社区!https://bbs.csdn.net/forums/PythonTogether

https://bbs.csdn.net/forums/PythonTogether

相关文章