f(0) = 1,f(1) = 4,
f(n + 2) = 2*f(n + 1) +f(n)
当n=1时:
f(3)=2*f(2)+f(1)
当n=2时:
n=2
f(4)=2*f(3)+f(2)
当n=3时:
n=3
f(5)=2*f(4)+f(3)
当n=4时:
n=4
f(6)=2*f(5)+f(4)
......
f(n)=2*f(n-1)+f(n-2)
这道题可以使用递归来求得。
def fn(n) :
if n == 0 :
return 1
elif n == 1 :
return 4
else :
# 函数中调用它自身,就是函数递归
return 2 * fn(n - 1) + fn(n - 2)
print("fn(0)的结果是:", fn(0))
print("fn(1)的结果是:", fn(1))
print("fn(2)的结果是:", fn(2))
print("fn(3)的结果是:", fn(3))
print("fn(4)的结果是:", fn(4))
print("fn(5)的结果是:", fn(5))
print("fn(6)的结果是:", fn(6))
print("fn(7)的结果是:", fn(7))
print("fn(8)的结果是:", fn(8))
print("fn(9)的结果是:", fn(9))
print("fn(10)的结果是:", fn(10))
f(20)=1,f(21)=4,
f(n + 2)=2*f(n+1)+f(n)
当n=20
f(22)=2*f(21)+f(20)
f(20)=f(22)-2*f(21)
当n=21
f(23)=2*f(22)+f(21)
f(21)=f(23)-2*f(22)
......
f(n)=f(n+2)-2*f(n+1)
def fn(n) :
if n == 20 :
return 1
elif n == 21 :
return 4
else :
# 函数中调用它自身,就是函数递归
return fn(n + 2) - 2*fn(n + 1)
print("fn(0)的结果是:", fn(0))
print("fn(1)的结果是:", fn(1))
print("fn(2)的结果是:", fn(2))
print("fn(3)的结果是:", fn(3))
print("fn(4)的结果是:", fn(4))
print("fn(5)的结果是:", fn(5))
print("fn(6)的结果是:", fn(6))
print("fn(7)的结果是:", fn(7))
print("fn(8)的结果是:", fn(8))
print("fn(9)的结果是:", fn(9))
print("fn(10)的结果是:", fn(10))
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。