c++计算fibonacci数列的前20项。
时间: 2023-11-18 17:00:58 浏览: 40
Fibonacci数列是一个非常经典的数学问题,它定义如下:数列的第一和第二个数字都是1,从第三个数字开始,每个数字都是前两个数字的和。
为了计算Fibonacci数列的前20项,我们可以使用循环的方法来逐个计算每个数字。首先,我们初始化前两个数字为1和1,然后使用一个循环来计算第三个数字到第20个数字。在循环的每一次迭代中,我们将前两个数字相加得到第三个数字,并且在每次迭代中更新前两个数字的值。最后,我们将得到的前20项依次输出,即为所求。
下面是用Python语言的示例代码:
```python
# 初始化前两个数字
a, b = 1, 1
print(a) # 输出第一个数字1
print(b) # 输出第二个数字1
# 循环计算第3个数字到第20个数字
for _ in range(18):
c = a + b
print(c) # 输出第三个数字到第20个数字
a, b = b, c # 更新前两个数字的值
```
通过上面的代码,我们就可以得到Fibonacci数列的前20项:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765。
相关问题
c++计算斐波那契数列第n项的值。
可以使用递归或循环两种方法计算斐波那契数列第n项的值。
递归方法:
```c++
#include <iostream>
using namespace std;
int fib(int n)
{
if(n == 0 || n == 1)
return n;
else
return fib(n-1) + fib(n-2);
}
int main()
{
int n;
cout << "请输入n的值: ";
cin >> n;
cout << "斐波那契数列第" << n << "项的值为: " << fib(n) << endl;
return 0;
}
```
循环方法:
```c++
#include <iostream>
using namespace std;
int fib(int n)
{
int a = 0, b = 1;
for(int i = 2; i <= n; i++)
{
int c = a + b;
a = b;
b = c;
}
return b;
}
int main()
{
int n;
cout << "请输入n的值: ";
cin >> n;
cout << "斐波那契数列第" << n << "项的值为: " << fib(n) << endl;
return 0;
}
```
以上两种方法都可以计算斐波那契数列第n项的值,但是递归方法会比较慢,因为会重复计算很多项,所以在实际应用中往往使用循环方法。
使用c++计算并打印Fibonacci数列的前20项
以下是使用 C 语言计算并打印 Fibonacci 数列的前 20 项的代码:
#include <stdio.h>
int main() {
int n = 20;
int fib[n];
fib[0] = 0;
fib[1] = 1;
for (int i = 2; i < n; i++) {
fib[i] = fib[i-1] + fib[i-2];
}
for (int i = 0; i < n; i++) {
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