c++程序中怎样输出Fibonacci数列的前40个
时间: 2023-06-05 22:07:42 浏览: 108
Fibonacci数列是指前两个数为1,从第三个数开始每个数都是其前两个数之和,即1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144……现在我们来看如何在C语言程序中输出前40个Fibonacci数。以下是代码:
```
#include <stdio.h>
int main()
{
int a = 1, b = 1, c, i;
printf("%d %d ",a,b);
for (i = 3; i <= 40; i++)
{
c = a + b;
printf("%d ", c);
a = b;
b = c;
}
printf("\n");
return 0;
}
```
首先定义三个变量a、b、c,其中a和b分别表示前两个数,而c表示当前需要输出的数。然后我们先输出前两个数(即1和1),然后用for循环输出接下来的38个数。在for循环中,我们使用了c = a + b计算出当前需要输出的数,然后将b赋值给a,将c赋值给b,这样就可以顺次输出接下来的数了。最后通过printf函数输出结果即可。
相关问题
用C++编写程序,输出Fibonacci数列的前20项。
好的,以下是代码:
```c
#include <stdio.h>
int main() {
int a = 0, b = 1, c, i;
printf("Fibonacci数列的前20项为:\n");
printf("%d %d ", a, b);
for (i = 0; i < 18; i++) {
c = a + b;
printf("%d ", c);
a = b;
b = c;
}
return 0;
}
```
输出结果为:
```
Fibonacci数列的前20项为:
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181
```
用c++编写程序,统计Fibonacci数列前20个数中有多少个3位数,并输出数列中的第16个数。
下面是用 C++ 编写的程序:
```c++
#include <iostream>
using namespace std;
int main() {
int a = 1, b = 1, c, count = 0;
for (int i = 1; i <= 20; ++i) {
c = a + b;
a = b;
b = c;
if (c >= 100 && c <= 999) {
count++;
}
}
cout << "Fibonacci数列前20个数中有 " << count << " 个3位数" << endl;
cout << "数列中的第16个数是:" << a << endl;
return 0;
}
```
在上面的程序中,我们使用了三个变量 `a`、`b`、`c` 来存储 Fibonacci 数列中的三个连续数字。首先初始化 `a` 和 `b` 为 1,然后使用 `for` 循环计算前 20 个 Fibonacci 数。在计算每个数时,我们把 `a` 和 `b` 的值相加,结果存储在 `c` 中,并将 `a` 和 `b` 的值更新为 `b` 和 `c`。在计算过程中,我们使用一个计数器 `count` 统计出现的 3 位数的个数。最后输出统计结果和第 16 个 Fibonacci 数。
阅读全文