在C++中用递归的方法编写函数求 Fibonacci 级数。公式为fib(n) =fib(n-1)+fib(n-2),n>2;。fib (1)=fib (2)=1;使用if语句判断函数出口,在程序中用cin、cout语句输出相关提示信息。
时间: 2024-12-25 08:31:55 浏览: 8
在C++中,你可以使用递归的方式来编写Fibonacci数列的计算函数。下面是一个简单的例子:
```cpp
#include <iostream>
// 定义递归函数 fib,用于计算第 n 项的Fibonacci数
int fib(int n) {
// 函数出口条件:当n小于等于2时,直接返回1
if (n <= 2) {
return 1;
}
// 递归调用,将问题分解为较小规模的子问题
else {
return fib(n - 1) + fib(n - 2); // 返回第n-1项和第n-2项之和
}
}
int main() {
// 输入用户想要查询的Fibonacci数的位置n
int n;
std::cout << "请输入一个非负整数n,计算其对应的Fibonacci数: ";
std::cin >> n;
// 输出结果
if (n > 0) {
std::cout << "Fibonacci(" << n << ") = " << fib(n) << std::endl;
} else {
std::cout << "输入错误!n必须是非负整数。" << std::endl;
}
return 0;
}
```
这个程序首先询问用户输入一个整数n,然后利用递归函数`fib(n)`计算对应的Fibonacci数。如果n小于等于2,函数会直接返回1,这是递归的基础情况。对于其他大于2的n,函数会不断调用自身,直到达到基础情况为止。
阅读全文