一、问题描述
编程实现斐波那契数列的递归和非递归方法。
二、代码实现
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语言编程小练习-斐波那契数列
最新推荐文章于 2023-03-28 17:45:49 发布