Python でフィボナッチ数列の最初の n 項の和を求める方法は?
フィボナッチ数列の最初の n 項の和は、再帰またはループを使用して計算できます。
再帰的手法を用いる
def fibonacci(n):
if n <= 0:
return 0
elif n == 1:
return 1
else:
return fibonacci(n-1) + fibonacci(n-2)
def fibonacci_sum(n):
if n <= 0:
return 0
else:
return sum(fibonacci(i) for i in range(1, n+1))
n = int(input("输入斐波那契数列的项数:"))
print("前", n, "项和为:", fibonacci_sum(n))
ループ方式による
def fibonacci_sum(n):
if n <= 0:
return 0
elif n == 1:
return 1
else:
fib_list = [0, 1]
for i in range(2, n+1):
fib_list.append(fib_list[i-1] + fib_list[i-2])
return sum(fib_list)
n = int(input("输入斐波那契数列的项数:"))
print("前", n, "项和为:", fibonacci_sum(n))
どちらの方法でもフィボナッチ数列の前n項の和を求めることができる