c++判断斐波那契数列
时间: 2024-01-14 18:21:46 浏览: 106
以下是两种C++判断斐波那契数列的方法:
1. 使用循环判断:
```cpp
#include <iostream>
using namespace std;
bool isFibonacci(int n) {
int a = 0, b = 1;
while (b < n) {
int temp = b;
b = a + b;
a = temp;
}
return (b == n);
}
int main() {
int num;
cout << "请输入一个整数:";
cin >> num;
if (isFibonacci(num)) {
cout << num << "是斐波那契数列中的数。" << endl;
} else {
cout << num << "不是斐波那契数列中的数。" << endl;
}
return 0;
}
```
2. 使用数学公式判断:
```cpp
#include <iostream>
#include <cmath>
using namespace std;
bool isPerfectSquare(int x) {
int s = sqrt(x);
return (s * s == x);
}
bool isFibonacci(int n) {
return isPerfectSquare(5 * n * n + 4) || isPerfectSquare(5 * n * n - 4);
}
int main() {
int num;
cout << "请输入一个整数:";
cin >> num;
if (isFibonacci(num)) {
cout << num << "是斐波那契数列中的数。" << endl;
} else {
cout << num << "不是斐波那契数列中的数。" << endl;
}
return 0;
}
```
阅读全文