#include <stdio.h>
int recursion(int n) {
if(n == 0) {
return 0;
}
else if(n == 1) {
return 1;
}
else {
return recursion(n-1) + recursion(n-2);
}
}
int iteration(int n) {
if(n == 0) {
return 0;
}
else if(n == 1) {
return 1;
}
else {
int a = 0;
int b = 1;
int result = 0;
for(int i=2; i<=n; i++) {
result = a + b;
a = b;
b = result;
}
return result;
}
}
int main() {
int n;
printf("输入一个正整数:");
scanf("%d", &n);
printf("递归实现 - 第%d个斐波那契数:%d\n", n, recursion(n));
printf("递推实现 - 第%d个斐波那契数:%d\n", n, iteration(n));
return 0;
}