递推
return___0
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
递归--汉诺塔
1.总体思想 根据要求,转移之后的叠放顺序仍为从上至下由小到大,故需将A中最底下的圆盘(即最大的圆盘,称为N)借助C移动至B。而移动N之前,必须先将位于N之上的n-1块圆盘移至C上,即需先完成n-1块圆盘的转移,故核心思想为递归思想。 2.关键步骤 当n=1时,直接将圆盘从A上移至B上即可。 当n>1时,先将N之上的n-1块圆盘移至C,再将N移至B。再将N-1之上的n-2块圆盘移至A,再将原创 2017-09-26 16:10:44 · 422 阅读 · 0 评论 -
杭电2041超级楼梯
题目:爬楼梯一次只能爬1级或者2级,问从第1级台阶到第m级台阶有多少种爬法? 思路1:排列法求解。数太大,爆long long,故错误。 思路2:采用递归思想 因为只有两种跨越(爬1级或者爬2级),故 到达第m级楼梯的爬法=到达第m-1级的爬法(到达第m-1级后选择爬1级的跨越方法,到达第m级)+到达m-2级的爬法(到达第m-2级后选择爬2级的跨越方法,到达第m级) 故本题是一道斐波那契原创 2018-01-14 20:07:12 · 250 阅读 · 0 评论 -
杭电2018母牛的故事
思考过程: 年份 头数 1 1(初始成年母牛) 2 2(成年母牛1头,未成年母牛1头) 3 3(成年母牛1头,未成年母牛2头) 4 4(成年母牛1头,未成年母牛3头) 5 6(成年母牛2头,未成年母牛4头) 6 9(成年母牛3头,未成年母牛6头) 7 13(成年母牛4头,未成年母牛9头) 8 21(成年母牛6头,未成年母牛13头) 9 28(成年原创 2018-01-15 14:16:53 · 406 阅读 · 0 评论 -
杭电2045
玄机尽在此图中,哈哈哈 #include #include using namespace std; int main() { long long sum[55]; int n,m; sum[0]=0; for(int i=1;i<=55;i++) { sum[i]=pow(2,i)-sum[i-1]; cout<<sum[i]<<endl; } while(cin>>n)原创 2018-01-16 12:27:19 · 260 阅读 · 0 评论 -
杭电2046
斐波那契 #include using namespace std; int main() { long long sum[52]; int n; sum[0]=1,sum[1]=1; for(int i=2;i<=52;i++) { sum[i]=sum[i-1]+sum[i-2]; } while(cin>>n) { cout<<sum[n]<<endl;原创 2018-01-16 13:01:28 · 263 阅读 · 0 评论 -
杭电2047
思路1:找规律推通式 但是发现当输入为36或37时,求得的结果与“答案”不一致(答案通过别人的AC代码得到) 强行修正后AC #include #include using namespace std; int main() { long long sum[52],o[52]; int n; sum[1]=3,sum[2]=8; o[0]=o[1]=0,o原创 2018-01-16 16:46:28 · 630 阅读 · 2 评论 -
杭电2048--大坑提示
错排公式,推导过程见百度有一个大坑是输出内容有%号时必须用printf("%%"),不能用printf("%")#include #include using namespace std; long long int factorial(int n) { long long m=1; for(int i=2;i<=n;i++) { m*=i; } return m; } int m原创 2018-01-18 10:00:27 · 969 阅读 · 0 评论 -
杭电2049
错排+排列,从N对夫妇里选出M对,用printf输出的时候注意用printf("%lld")而不是printf("%d")#include using namespace std; long long int factorial(int n) { long long int m=1; for(int i=1;i<=n;i++) { m*=i; } return m; } int ma原创 2018-01-18 11:30:41 · 387 阅读 · 0 评论 -
杭电2050
分割平面的个数=交点个数+顶点个数+1令f(n-1)为前n-1条折线分割的平面数,当添加第n条折线时。因为每一条边与前n-1条折线的两条边都相交,故增加的交点数为2*2*(n-1),顶点增加1,故f(n)=f(n-1)+4(n-1)+1f(n-1)=f(n-2)+4(n-2)+1....f(2)=f(1)+4*1+1f(1)=2f(n)-2=4((n-1)+(n-2)+...+1)+(n-1)=4转载 2018-01-19 12:55:25 · 278 阅读 · 0 评论
分享