1、跳台阶
有一楼梯共m级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第m级,共有多少走法?
注:规定从一级到一级有0种走法。
#include#include
using namespacestd;intmain(){intk;
cin>>k;intn;while(k--)>0) {
cin>>n;if(n==1) {
cout<< 0 <
}
vector steps(n,1);for(int i=2;i
steps[i]= steps[i-1] + steps[i-2];
}
cout<< steps[n-1] <
}
}
#include
using namespacestd;intmain()
{intn;
cin>>n;int a[41]={0};
a[1]=1;
a[2]=1;for(int i=3;i<=40;i++)
a[i]=a[i-1]+a[i-2];while(n--)
{intnum;
cin>>num;
cout<
}
}
2、击鼓传花
聪明的小赛提出一个有趣的问题:有多少种不同的方法可以使得从小赛手里开始传的花,传了m次以后,又回到小赛手里。对于传递的方法当且仅当这两种方法中,接到花的同学按接球顺序组成的序列是不同的,才视作两种传花的方法不同。比如有3个同学1号、2号、3号,并假设小赛为1号,花传了3次回到小赛手里的方式有1->2->3->1和1->3->2->1,共2种。
输入:输入共一行,有两个用空格隔开的整数n,m(3&

本文提供了几个在线笔试中的算法问题,包括跳台阶的不同走法、击鼓传花的方法数、股票价格变化规律、字符串相似度计算、路灯照明覆盖问题以及数组翻转判断。通过示例代码展示了如何解决这些问题,涉及动态规划、递推公式和数组操作等编程技巧。
最低0.47元/天 解锁文章
4826

被折叠的 条评论
为什么被折叠?



