#include <stdio.h>
int recursion(int n) {
if(n <= 0) {
return 0;
}
else if(n == 1) {
return 1;
}
else if(n == 2) {
return 2;
}
else {
return recursion(n-1) + recursion(n-2);
}
}
int iteration(int n) {
if(n <= 0) {
return 0;
}
else if(n == 1) {
return 1;
}
else if(n == 2) {
return 2;
}
else {
int a = 1, b = 2, c;
for(int i = 3; i <= n; i++) {
c = a + b;
a = b;
b = c;
}
return b;
}
}
int main() {
int n;
printf("输入台阶数:");
scanf("%d", &n);
printf("递归实现 - 不同走法的数量:%d\n", recursion(n));
printf("递推实现 - 不同走法的数量:%d\n", iteration(n));
return 0;
}