网站建设方案百度文库国外网站seo
【问题描述】
楼梯有n阶台阶,上楼可以一步上1阶,2阶或3阶,编程计算共有多少种不同的走法?
【算法分析】
此题采用递归方法实现。分别给出了C++及C语言代码。
此题的动态规划写法参见:https://blog.csdn.net/hnjzsyjyj/article/details/114990369
【C++代码】
#include <bits/stdc++.h>
using namespace std;int ups(int n) { if(n<=2) return n;if(n==3) return 4;int ans=0;ans=ups(n-1)+ups(n-2)+ups(n-3);return ans;
}int main() {int n;scanf("%d",&n);printf("%d",ups(n));return 0;
}/*
in:5
out:13in:6
out:24
*/
【C语言代码】
#include <stdio.h>
#include <stdlib.h>int ups(int n) { if(n<=2) return n;if(n==3) return 4;int ans=0;ans=ups(n-1)+ups(n-2)+ups(n-3);return ans;
}int main() {int n;scanf("%d",&n);printf("%d",ups(n));return 0;
}/*
in:5
out:13in:6
out:24
*/