现在已知Fibonacci(菲波那切)数列的前几项0、1、1、2、3、5、8……,编程求出第 N 项。 输入描述: 输入一行,包含一个正整数N 1 <= N <= 50输出描述: 输出一个整数。c语言
时间: 2024-10-11 10:04:09 浏览: 68
菲波那切数列数组求法C++程序
在C语言中,你可以使用递归的方式来编写一个函数来计算Fibonacci数列的第N项。以下是简单的代码实现:
```c
#include <stdio.h>
// 定义Fibonacci数列的递归函数
int fibonacci(int n) {
if (n <= 1) {
// 当n小于等于1时,返回n本身(因为斐波那契数列的前两项是0和1)
return n;
} else {
// 否则,递归调用自身计算前两项的和
return fibonacci(n - 1) + fibonacci(n - 2);
}
}
int main() {
int N;
// 输入N
scanf("%d", &N);
// 检查输入是否合法
if (N > 50) {
printf("N超出范围,请输入1到50之间的整数。\n");
return 1; // 返回错误
}
// 计算并输出Fibonacci数列的第N项
printf("Fibonacci数列的第%d项是:%d\n", N, fibonacci(N));
return 0;
}
```
当你运行这个程序并输入一个正整数N时,它会输出对应位置的Fibonacci数。注意,由于递归的特性,对于较大的N值,这种方法可能会非常慢,因为它会重复计算很多次相同的子问题。
阅读全文