永发信息网

有n阶阶梯,每步可走1阶或2阶,求每一步走法,和有多少种走法,用C语言编程

答案:2  悬赏:0  手机版
解决时间 2021-01-14 08:06
有n阶阶梯,每步可走1阶或2阶,求每一步走法,和有多少种走法,用C语言编程
最佳答案
其实就是数学的排列组合的问题。对排列组合求和。
我就不列出是怎样的排列了,就列出有几类排列组合,还有结果。
#include 
#include 

inline long A(int a1,int a2)
{
int r=1;
for(int i=0;i r*=a1--;
return r;
}

inline long C(int c1,int c2)
{
double r=1;
int nc2=c2;
for(int i=0;i {
r*=c1--;
if(nc2>0)r/=nc2--;
}
return (long)r;
}

int main()
{
int n;
long sum=0;//阶级数,结果 
int max2;//最大2步数
int nums1,nums2;//1的个数,2的个数 
int i;
printf("stairs: 0 ");
scanf("%d",&n);
if(n%2==0)
max2=n/2;
else
max2=(n-1)/2;
printf("max step2:%d
",max2);
for(i=0;i<=max2;i++)
{
int temp;
nums2=i;
nums1=n-nums2*2;
printf("step1:%d,step2:%d
",nums1,nums2);
temp=C(nums1+nums2,nums2);//;sum+=C(nums1+nums2,nums1);
printf("ways:%d
",temp); 
sum+=temp; 
}
printf("final ways:%d
",sum);
return 0;
}
全部回答
用递归,第n阶的走法是n-1阶和n-2阶的和,而第一阶有1种走法,第二阶有2种走法,第三阶走3种走法,递归
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
单选题Whichis________totheearth,the
fe85 f1.4怎么装uv镜
请问一下180x180X10的多孔砖可以建3.5米
海底出来巨人骷髅大怪物是什么电影
单选题市中心对商业活动吸引力最大的原因是A.
这种房子多重
生炒糯米饭的做法 生炒糯米饭怎么做
怎么样才让男友舒服呐…
动物去势和人去势的区别
汽车机油用了假的会对发动机有什么
“蒲一见汝”。一见汝就是一见到你,而“蒲”
杭州电瓶车违章查询后怎么交罚款
SSAT的middle level 满分多少
如何把按钮开关改成遥控开关
我实在是走投无路了,谁能告诉我该怎么办
推荐资讯
有谁有苦参<高攀>的百度云吗
求旅游攻略或者计划
8分之7等于24分之()等于28除以()等于56分之()
相隔千里,思念依旧是什么意思?
很好奇长寿命烙铁头的材质是什么?为什么价格
香辣香酥虾的做法步骤图,香辣香酥虾怎么做
大概多少岁可以来您那里当演员?
公积金贷款买的房,如果每月的公积金够还贷的
无接触未固化粉末涂层测厚仪是什么?
3x(x-1)=2(x-|)用因式法怎么解
韶?怎么解释
持续跑步运动20分钟,和持续快走1个小时,那
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?