输入一个正整数n,计算 ……的前n项之和。
时间: 2024-10-21 19:04:56 浏览: 15
Android studio中实现输入一个整数N,输出1+2+3+...+N的求和结果
斐波那契数列是指这样一个数列:0、1、1、2、3、5、8、13、21……每一项都是它前面两项的和。如果你提供一个正整数 \( n \),计算斐波那契数列的前 \( n \) 项之和,可以使用动态规划或者递归的方式实现。
如果使用动态规划,我们可以创建一个数组 `fib`,长度为 \( n+1 \),然后依次填充每个位置的值,同时累加得到总和。
```python
def fibonacci_sum(n):
fib = [0, 1] + [0] * (n - 1)
total_sum = fib[0] + fib[1]
for i in range(2, n+1):
fib[i] = fib[i-1] + fib[i-2]
total_sum += fib[i]
return total_sum
```
如果是递归方法,则更简洁但也可能导致性能较低,因为会有很多重复计算:
```python
def fibonacci_sum_recursive(n):
if n <= 0:
return 0
elif n == 1:
return 1
else:
return fibonacci_sum_recursive(n - 1) + fibonacci_sum_recursive(n - 2)
```
阅读全文