用C++设计一个类,可以求解某个区间内的fibonacci数列(数列从1开始)。在主函数读取两个整数m,n,当m大于n时交换m和n,调用类的generateFibx方法,以m和n为项数编号区间生成并输出在此区间内的fibonacci数列并输出。 【输入形式】 两个整数m,n 【输出形式】 输出满足条件的数列。
时间: 2024-03-20 09:43:30 浏览: 126
下面是一个求解Fibonacci数列的类Fibonacci:
```cpp
#include <iostream>
#include <vector>
using namespace std;
class Fibonacci {
public:
vector<int> generateFibx(int m, int n) {
if (m > n) {
swap(m, n);
}
vector<int> fib(n, 1);
for (int i = 2; i < n; i++) {
fib[i] = fib[i - 1] + fib[i - 2];
}
vector<int> res(n - m + 1);
for (int i = m - 1; i < n; i++) {
res[i - m + 1] = fib[i];
}
return res;
}
};
int main() {
int m, n;
cin >> m >> n;
Fibonacci f;
vector<int> res = f.generateFibx(m, n);
for (int i = 0; i < res.size(); i++) {
cout << res[i] << " ";
}
cout << endl;
return 0;
}
```
在类Fibonacci中,generateFibx方法可以生成Fibonacci数列中第m项到第n项的所有数,然后将它们存储在一个vector中并返回。主函数中,我们首先读取m和n,然后创建一个Fibonacci对象f,调用其generateFibx方法得到满足条件的Fibonacci数列,最后将其输出。
输入格式为两个整数m和n,例如:
```
3 8
```
输出格式为满足条件的Fibonacci数列,例如:
```
2 3 5 8 13 21
```
阅读全文