c语言求Fibonacci(斐波那契)数列的前40个数
时间: 2024-05-09 08:17:04 浏览: 15
好的,以下是求解斐波那契数列前40个数的C语言代码:
```
#include <stdio.h>
int main()
{
int i;
long long fib[40]; //斐波那契数列,long long可以存储更大的整数
fib[0] = 0; //斐波那契数列第一个数为0
fib[1] = 1; //斐波那契数列第二个数为1
for (i = 2; i < 40; i++) //从第三个数开始循环
{
fib[i] = fib[i-1] + fib[i-2]; //下一个数等于前两个数之和
}
//输出前40个数
for (i = 0; i < 40; i++)
{
printf("%lld ", fib[i]);
}
return 0;
}
```
结果会输出斐波那契数列前40个数,分别为0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 121393 196418 317811 514229 832040 1346269 2178309 3524578 5702887 9227465 14930352 24157817 39088169 63245986 102334155 165580141
相关问题
用C语言求斐波那契数列的前40个数,并输出
斐波那契数列是指每个数都是前两个数之和的数列,前40个斐波那契数列如下:
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 121393 196418 317811 514229 832040 1346269 2178309 3524578 5702887 9227465 14930352 24157817 39088169 63245986 102334155
下面是C语言代码实现:
```c
#include <stdio.h>
int main()
{
int n = 40;
int fib[n];
fib[0] = 0;
fib[1] = 1;
printf("%d %d ", fib[0], fib[1]);
for(int i=2; i<n; i++)
{
fib[i] = fib[i-1] + fib[i-2];
printf("%d ", fib[i]);
}
return 0;
}
```
输出结果为:
```
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 121393 196418 317811 514229 832040 1346269 2178309 3524578 5702887 9227465 14930352 24157817 39088169 63245986 102334155
```
c语言用递归算法求Fibonacci数列的前40个数
好的,以下是用递归算法求Fibonacci数列的前40个数的C语言代码:
```c
#include <stdio.h>
int fibonacci(int n) {
if (n <= 1) {
return n;
}
return fibonacci(n-1) + fibonacci(n-2);
}
int main() {
int n = 40, i;
for (i = 0; i < n; i++) {
printf("%d ", fibonacci(i));
}
return 0;
}
```
在这个代码中,我们定义了一个递归函数 `fibonacci()`,它接收一个整数参数 `n`,并返回 Fibonacci 数列中第 `n` 项的值。当 `n` 小于等于 1 时,直接返回 `n`;否则,递归调用 `fibonacci()` 函数,并返回前两项之和。在 `main()` 函数中,我们调用 `fibonacci()` 函数来输出前40项 Fibonacci 数列的值。