
C 语言编程题目:上楼梯
展开全部
需要详细信息,比如可以一次上2个或者1个阶梯,那么就可以
用递归,设第n个阶梯有f(x)方式,有f(x)=f(x-1)+f(x-2)
用递归,设第n个阶梯有f(x)方式,有f(x)=f(x-1)+f(x-2)
更多追问追答
追问
楼梯有n(100 > n > 0)阶台阶,上楼时可以一步上1阶,也可以一步上2阶,也可以一步上3阶,编程计算共有多少种不同的走法。输入输入的每一行包括一组测试数据,即为台阶数n。最后一行为0,表示测试结束。输出每一行输出对应一行输入的结果,即为走法的数目。
追答
#include
using namespace std;
int main()
{
int n,i;
long long a1,a2,all,a3;
while(cin>>n,n)
{
all=0;
a1=1;
a2=2;
a3=3;
if(n==1)
all=1;
else
if(n==2)
all=2;
if(n==3)
all=3;
else
{
for(i=4;i<=n;i++)
{
all=a1+a2+a3;
a1=a2;
a2=a3;
a3=all;
}
}
cout<<all<<endl;
}
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询