已知求斐波那契数列第n项的类(Fib)如下: typedef long long LL; class Fib{ private: int m_n{}; //代表第n项,n<=50 public: Fib(); //用来输入m_n LL getRes();//求第n项 };用c++写出其代码
时间: 2023-12-03 20:46:08 浏览: 87
C语言程序设计-用函数求fibonacci数列前n项的和;说明:fibonacci数列为数列的第一项值为1,第二项
5星 · 资源好评率100%
以下是斐波那契数列第n项的类(Fib)的C++代码:
```cpp
#include <iostream>
using namespace std;
typedef long long LL;
class Fib{
private:
int m_n; //代表第n项,n<=50
public:
Fib(){
cout << "请输入要求的斐波那契数列的项数n:" << endl;
cin >> m_n;
}
LL getRes(){
if(m_n <= 0){
return 0;
}
if(m_n == 1 || m_n == 2){
return 1;
}
LL a = 1, b = 1;
for(int i = 3; i <= m_n; i++){
LL c = a + b;
a = b;
b = c;
}
return b;
}
};
int main(){
Fib fib;
cout << "斐波那契数列第" << fib.getRes() << "项为:" << fib.getRes() << endl;
return 0;
}
```
这里采用了迭代的方法来求解斐波那契数列,时间复杂度为O(n)。
阅读全文