c语言求fibonacci数列前20
时间: 2023-04-26 14:06:09 浏览: 122
我们可以使用递归或循环来求出Fibonacci数列的前20项。下面是递归的代码实现:
```
#include <stdio.h>
int fib(int n) {
if (n <= 2) {
return 1;
} else {
return fib(n - 1) + fib(n - 2);
}
}
int main() {
for (int i = 1; i <= 20; i++) {
printf("%d ", fib(i));
}
return 0;
}
```
这里是循环的代码实现:
```
#include <stdio.h>
int main() {
int a = 1, b = 1, c;
printf("%d ", a);
printf("%d ", b);
for (int i = 3; i <= 20; i++) {
c = a + b;
printf("%d ", c);
a = b;
b = c;
}
return 0;
}
```
运行这些代码将输出Fibonacci数列的前20项,即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.
相关问题
c语言求斐波那契数列前20项
以下是C语言求斐波那契数列前20项的代码和讲解:
```c
#include <stdio.h>
int main() {
int a1 = 1, a2 = 1;
printf("第1个斐波那契数为%d\n第2个斐波那契数为%d\n", a1, a2);
for (int i = 3; i <= 20; i++) {
int sum = a1 + a2;
printf("第%d个斐波那契数为%d\n", i, sum);
a1 = a2;
a2 = sum;
}
return 0;
}
```
这段代码中,我们首先定义了两个变量a1和a2,并将它们的值都初始化为1,因为斐波那契数列的前两个数都是1。然后我们使用for循环计算并输出了前20个斐波那契数。在每次循环中,我们先计算出当前的斐波那契数sum,然后将a2的值赋给a1,将sum的值赋给a2,以便下一次循环计算。
c语言求fibonacci数列前40
### 回答1:
Fibonacci数列前40个数如下:
, 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.
### 回答2:
要求打印出Fibonacci数列前40个数字,我们可以使用循环结构和条件判断。首先,我们需要定义两个变量来存储Fibonacci数列中的前两个数字,这里用a和b表示。a初始值为0,b初始值为1。然后,我们可以循环40次,每次计算出当前的Fibonacci数列的第i个数,输出到屏幕上。每次循环,我们都把a和b的值更新一次,将b的值赋给a,将a加上原来b的值后的新结果赋给b。
下面是一段C语言程序示例:
```c
#include <stdio.h>
int main()
{
int a = 0, b = 1, next, i;
printf("Fibonacci数列前40个数字为:\n");
for (i = 0; i < 40; i++)
{
if (i <= 1)
next = i;
else
{
next = a + b;
a = b;
b = next;
}
printf("%d ", next);
}
printf("\n");
return 0;
}
```
代码解释:
我们首先定义3个变量a、b、next。其中a和b用来存放Fibonacci序列的前两项值,next表示下一个Fibonacci数的值。
在循环中我们通过if语句判断当前项是否是前两项,然后根据a和b值的更新计算出下一项Fibonacci数的值保存在next中。
最后通过printf语句输出结果。
运行结果:
```
Fibonacci数列前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
```
可以看到,我们成功的输出了Fibonacci数列前40个数字。
### 回答3:
斐波那契数列是一种非常流行的数列,其在数学和计算机科学中都有重要应用。由于斐波那契数列定义非常简单,因此很容易用C语言来实现。要求输出前40个斐波那契数列的值,可以使用循环以及递推的方式来计算。
在C语言中,斐波那契数列可以使用一个for循环和数组来实现。以下是一个简单的代码示例,用于计算并输出前40个斐波那契数列的值:
```c
#include <stdio.h>
int main()
{
int i;
int fib[40]; // 数组存储斐波那契数列
fib[0] = 0; // 第一个数是0
fib[1] = 1; // 第二个数是1
// 循环计算余下的数列
for (i = 2; i < 40; i++)
{
fib[i] = fib[i-1] + fib[i-2]; // 递推公式
}
// 输出数列各项
for (i = 0; i < 40; i++)
{
printf("%d ", fib[i]);
}
return 0;
}
```
上述代码中,首先定义了一个数组`fib`,用于存储斐波那契数列的值。然后初始化数组的前两个元素分别为0和1。接着,通过一个for循环来计算剩下的38个斐波那契数列的值。在循环中,使用递推公式`fib[i] = fib[i-1] + fib[i-2]`。
最后,再次使用另外一个for循环来输出这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
```
因此,在C语言中,实现斐波那契数列非常简单。通过一个简单的循环结构和递推公式,便可以计算和输出斐波那契数列前40个数字。
阅读全文