阅读量:0
在C语言中,可以使用循环或递归的方式来解决Fibonacci数列问题。
- 使用循环解决Fibonacci数列问题:
#include <stdio.h> int fibonacci(int n) { if (n <= 1) { return n; } int first = 0; int second = 1; int result = 0; for (int i = 2; i <= n; i++) { result = first + second; first = second; second = result; } return result; } int main() { int n; printf("请输入一个正整数:"); scanf("%d", &n); printf("第%d个Fibonacci数是:%d\n", n, fibonacci(n)); return 0; }
- 使用递归解决Fibonacci数列问题:
#include <stdio.h> int fibonacci(int n) { if (n <= 1) { return n; } return fibonacci(n-1) + fibonacci(n-2); } int main() { int n; printf("请输入一个正整数:"); scanf("%d", &n); printf("第%d个Fibonacci数是:%d\n", n, fibonacci(n)); return 0; }
以上两种方法都能够解决Fibonacci数列问题,但是使用递归的方式效率较低,特别是对于较大的n值,递归方式会有很多重复计算,因此使用循环方式是更好的选择。