编程求斐波纳切数列的前n个数
时间: 2024-10-14 21:02:46 浏览: 68
斐波那契数列是一个经典的数学序列,每个数字都是前两个数字的和,通常开始于0和1。例如,前几个数是:0, 1, 1, 2, 3, 5, 8, 13...。在编程中,我们可以使用循环或者递归来计算这个数列的前n个数字。
以下是几种常见的实现方法:
1. **循环**(迭代法):
```python
def fibonacci(n):
fib_sequence = [0, 1]
while len(fib_sequence) < n:
fib_sequence.append(fib_sequence[-1] + fib_sequence[-2])
return fib_sequence[:n]
# 使用时
print(fibonacci(10)) # 输出前10个斐波那契数
```
2. **递归**(虽然递归更直观,但效率较低,因为存在大量的重复计算):
```python
def fibonacci_recursive(n, a=0, b=1):
if n == 0:
return []
elif n == 1:
return [a]
else:
result = fibonacci_recursive(n - 1, b, a + b)
result.insert(0, a)
return result
# 使用时
print(fibonacci_recursive(10))
```
相关问题
计算斐波纳切数列的前n个数
斐波那契数列是一个经典的数列,其中每个数字都是前两个数字之和。数列通常从0和1开始,后续的数字依次为0、1、1、2、3、5、8、13...以此类推。要计算斐波那契数列的前n个数,你可以使用循环或者递归的方式。
1. **循环法**:
```python
def fibonacci(n):
fib_sequence = [0, 1]
while len(fib_sequence) < n:
fib_sequence.append(fib_sequence[-1] + fib_sequence[-2])
return fib_sequence[:n]
# 获取前10个斐波那契数
print(fibonacci(10))
```
2. **递归法**(虽然简单但效率较低,因为存在大量重复计算):
```python
def fibonacci_recursive(n):
if n <= 0:
return []
elif n == 1:
return [0]
elif n == 2:
return [0, 1]
else:
sequence = fibonacci_recursive(n - 1)
sequence.append(sequence[-1] + sequence[-2])
return sequence
print(fibonacci_recursive(10))
```
c++求斐波纳切数列
下面是C++代码实现斐波那契数列,其中使用了数组来存储前20项的数,并且可以根据用户输入的n值求前n项的和:
```c++
#include <iostream>
using namespace std;
const int len = 25; // 数组长度
int main() {
int n;
int arr[len]; // 声明数组
arr[0] = arr[1] = 1;
for(int i = 2; i < len; i++) // 把前20项的数求出放到数组中
arr[i] = arr[i - 2] + arr[i - 1]; while(cin >> n) {
int sum = 0;
for(int j = 0; j < n; j++) { // 求前n项的和
sum += arr[j];
}
cout << "Fibonacci(斐波那契数列)前" << n << "项的和是:" << sum << endl;
}
return 0;
}
```
阅读全文
相关推荐
















