用一维数组的方法实现斐波那契数列
时间: 2024-03-09 19:25:14 浏览: 63
斐波那契数列是由0和1开始,之后的数就是前两个数的和。用一维数组可以实现如下:
```python
def fibonacci(n):
if n <= 0:
return []
if n == 1:
return [0]
if n == 2:
return [0, 1]
fib = [0, 1]
for i in range(2, n):
fib.append(fib[i-1] + fib[i-2])
return fib
```
在这个函数中,我们首先判断n的值,如果 n <= 0,则返回空数组;如果 n == 1,则返回[0];如果 n == 2,则返回[0, 1]。然后我们创建一个名为fib的数组,其中包含前两个斐波那契数列数值0和1。接下来,我们使用for循环计算剩余的数值,并将它们添加到数组中。最后,我们返回数组fib。
相关问题
使用一维数组计算斐波那契数列前10项
好的,斐波那契数列是指数列的前两项为1,从第三项开始,每一项都等于前两项之和。那么使用一维数组来计算斐波那契数列前10项的代码如下:
```c
#include <stdio.h>
int main() {
int fib[10] = {1, 1}; // 数组初始化
for(int i = 2; i < 10; i++) { // 循环计算
fib[i] = fib[i-1] + fib[i-2];
}
for(int i = 0; i < 10; i++) { // 输出结果
printf("%d ", fib[i]);
}
return 0;
}
```
输出结果为:1 1 2 3 5 8 13 21 34 55。
以上代码中,我们使用了一个长度为10的数组`fib`来存储斐波那契数列的前10项,数组初始化时将前两项设为1,然后使用for循环计算出剩下的8项。最后再使用for循环输出计算结果即可。
使用一维数组计算斐波那契数列前10项和
好的,计算斐波那契数列前10项和的代码如下:
```c
#include <stdio.h>
int main() {
int fib[10] = {1, 1}; // 数组初始化
int sum = 2; // 前两项之和
for(int i = 2; i < 10; i++) { // 循环计算
fib[i] = fib[i-1] + fib[i-2];
sum += fib[i];
}
printf("前10项之和为:%d\n", sum); // 输出结果
return 0;
}
```
输出结果为:前10项之和为:143。
以上代码中,我们使用了一个长度为10的数组`fib`来存储斐波那契数列的前10项,数组初始化时将前两项设为1,然后使用for循环计算出剩下的8项,并且在计算过程中将每一项的值累加到变量`sum`中,最后再输出`sum`即可。
阅读全文