用c++写代码已知斐波那契数列为:1,1,2,3,5,8,13,21……,其中后一项为前两项的和。 输入一系列整数N(N<=91),求斐波拉契数列第N项的结果。 输入 一行,若干个整数(个数<100,整数<=91)。 输出 输出m个整数(斐波拉契数列第N项的结果),由空格隔开。 样例输入 Copy 4 8 12 样例输出 Copy 3 21 144
时间: 2024-04-16 12:26:40 浏览: 171
以下用C++编写的解决方案:
```cpp
#include <iostream>
using namespace std;
long long fibonacci(int n) {
if (n <= 1) {
return n;
}
long long a = 1;
long long b = 1;
long long result = 0;
for (int i = 2; i <= n; i++) {
result = a + b;
a = b;
b = result;
}
return result;
}
int main() {
int n;
while (cin >> n) {
cout << fibonacci(n) << " ";
}
cout << endl;
return 0;
}
```
这段代码首先定义了一个名为`fibonacci`的函数,该函数接受一个整数`n`作为参数,并返回斐波那契数列的第`n`项。然后,在`main`函数中,使用循环读取输入的整数,并调用`fibonacci`函数计算并输出结果。
注意,由于斐波那契数列的结果可能非常大,所以使用了`long long`类型来存储结果,以避免溢出。
阅读全文