一、问题描述
编程实现斐波那契数列的递归和非递归方法。
二、代码实现
1、递归实现
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int Fib(int n) {
int count = 0;
if (n == 1) {
return 1;
}
if (n == 2) {
return 1;
}if (n >= 3) {
return Fib(n - 1) + Fib(n - 2);
}
}
int main(){
int n = 0;
printf(“请输入第n项”);
scanf("%d", &n);
int result = 0;
result=Fib(n);
printf("%d", result);
system(“pause”);
return 0;
}
2、非递归实现
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main() {
int n = 0;
printf(“请输入第n项”);
scanf("%d", &n);
//int result = 0;
//result = Fib1(n);
int last1 = 1;
int last2 = 1;
int cur = 0;
int i;
for (i = 3; i <= n; i++) {
cur = last1 + last2;
last2 = last1;
last1 = cur;
}
printf("%d", cur);
system(“pause”);
return 0;
}
三、运行结果


本文详细介绍了斐波那契数列的递归与非递归编程实现方法,通过C语言代码展示了如何计算数列中指定位置的数值,为初学者提供了清晰的学习案例。
1018

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



