设计一个类,可以求解某个区间内的fibonacci数列(数列从1开始)。在主函数读取两个整数m,n,当m大于n时交换m和n,调用类的generateFibx方法,以m和n为项数编号区间生成并输出在此区间内的fibonacci数列并输出。c++
时间: 2024-03-20 22:44:07 浏览: 52
好的,这是一个C++的示例代码,实现了你的要求:
```c++
#include <iostream>
#include <vector>
using namespace std;
class Fibonacci {
public:
void generateFibx(int m, int n) {
if (m > n) { // 如果m>n,交换m和n
swap(m, n);
}
// 生成斐波那契数列
while (fib.size() < n) {
int f = fib.back() + fib[fib.size() - 2];
fib.push_back(f);
}
// 输出区间[m, n]内的斐波那契数列
for (int i = m - 1; i < n; i++) {
cout << fib[i] << " ";
}
}
private:
vector<int> fib = {1, 1}; // 初始化前两项为1
};
int main() {
Fibonacci fib;
int m, n;
cin >> m >> n;
fib.generateFibx(m, n);
return 0;
}
```
你可以输入两个整数m和n,代表了区间的左右端点。然后程序会生成并输出在此区间内的斐波那契数列。
注意,这里的数列从1开始,因此第1项和第2项都是1,而不是0。
阅读全文