题目:计算斐波那契数列的第n项
问题描述:
斐波那契数列是一个非常著名的数列,在数学上有着广泛的应用。该数列的定义如下:
- F(0) = 0
- F(1) = 1
- 对于n ≥ 2,F(n) = F(n-1) + F(n-2)
即斐波那契数列的每一项都是其前两项之和。数列的前几项为:0, 1, 1, 2, 3, 5, 8, 13, ...
现在需要编写一个程序,接收用户输入的一个非负整数n,计算并输出斐波那契数列的第n项。
要求:
- 用户输入一个非负整数n(n ≥ 0)。
- 输出斐波那契数列的第n项的值。
- 需要使用递归函数来实现斐波那契数列的计算。
- 请确保处理用户输入时,若输入的是负数,则输出错误信息并终止程序。
流程图:

源代码:
#include <iostream>
using namespace std;
// 递归函数,计算斐波那契数列的第n项
int fibonacci(int n) {
if (n <= 1) {
return n;
}
return fibonacci(n - 1) + fibonacci(n - 2);
}
int main() {
int n;
cout << "请输入一个非负整数,以计算斐波那契数列的第n项: ";
cin >> n;
// 确保输入为非负整数
if (n < 0) {
cout << "错误:请输入一个非负整数。" << endl;
return 1;
}
cout << "斐波那契数列的第 " << n << " 项是: " << fibonacci(n) << endl;
return 0;
}
运行截图:

3635

被折叠的 条评论
为什么被折叠?



