2. C++题目43:fibonacci数列(项数区间) 设计一个类,可以求解某个区间内的fibonacci数列(数列从1开始)。在主函数读取两个整数m,n,当m大于n时交换m和n,调用类的generateFibx方法,以m和n为项数编号区间生成并输出在此区间内的fibonacci数列并输出。 【输入形式】 两个整数m,n 【输出形式】 输出满足条件的数列。 【样例输入】 1 5 【样例输出】 1 1 2 3 5
时间: 2024-03-20 13:43:16 浏览: 49
以下是完整的代码实现:
```cpp
#include<iostream>
using namespace std;
class Fibonacci {
public:
void generateFib(int m, int n) {
if (m > n) {
swap(m, n);
}
int a = 1, b = 1, c;
for (int i = 1; i <= n; i++) {
if (i >= m) {
cout << a << " ";
}
if (i <= 2) {
c = 1;
} else {
c = a + b;
a = b;
b = c;
}
}
cout << endl;
}
};
int main() {
Fibonacci f;
int m, n;
cin >> m >> n;
f.generateFib(m, n);
return 0;
}
```
在Fibonacci类中,我们定义了generateFib函数,用于生成并输出在指定区间内的Fibonacci数列。首先对m和n进行大小比较,如果m较大则交换它们的值。然后从1开始生成Fibonacci数列,并在满足项数在m和n之间的数输出。
在主函数中,我们先读入m和n,然后生成并输出指定区间内的Fibonacci数列。
输入样例:
```
1 5
```
输出样例:
```
1 1 2 3 5
```
阅读全文