用c++实现给定一个数字,输出他在斐波那契数列中的位置,若不在斐波那契数列中,输出“NO”
时间: 2024-03-25 15:39:42 浏览: 42
C++输出斐波那契数列的两种实现方法
5星 · 资源好评率100%
好的,以下是c++代码实现:
```c++
#include <iostream>
using namespace std;
int fibonacci(int n) {
if (n <= 0) return 0;
if (n == 1 || n == 2) return 1;
return fibonacci(n-1) + fibonacci(n-2);
}
int main() {
int num, i;
bool flag = false;
cin >> num;
for (i = 1; fibonacci(i) <= num; i++) {
if (fibonacci(i) == num) {
cout << i << endl;
flag = true;
break;
}
}
if (!flag) cout << "NO" << endl;
return 0;
}
```
这段代码中,我们定义了一个递归函数 `fibonacci`,用于计算斐波那契数列中第n项的值。然后在 `main` 函数中,我们输入一个数字 `num`,并通过循环计算出它在斐波那契数列中的位置,如果找到了,则输出位置,否则输出“NO”。
阅读全文