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