有九级台阶,一次可以跨一级,二级或三级,问有多少种方法走完?

 我来答
阿肆聊生活
高粉答主

2021-09-16 · 每个回答都超有意思的
知道大有可为答主
回答量:1.1万
采纳率:100%
帮助的人:181万
展开全部

149种。

解答:解:从简单情况入手:

(1)若有1级台阶,则只有惟一的迈法:a1=1。

(2)若有2级台阶,则有两种迈法:一步一级或一步二级,则a2=2。

(3)若有3级台阶,则有4种迈法:①一步一级地走,②第一步迈一级而第二步迈二级,③第一步迈二级而第二步迈一级,④一级迈三级,a3=4。

(4)若有4级台阶,则按照第一步迈的级数分三类讨论:

①第一步迈一级台阶,那么还剩三级台阶,根据前面分析可知a3=4种万法。

②第一步迈二级台阶,还剩二级台阶,根据前面的分析可知有a2=2种迈法。

③第一步迈三级台阶,那么还剩一级台阶,还有a1=1种。

所以a4=a1+a2+a3=7(种)

相应有:

a5=a4+a2+a3=13(种)。

a6=a5+a4+a3=24(种)。

a7=a6+a5+a4=44(种)。

a8=a7+a6+a5=81(种)。

a9=a8+a7+a6=149(种)。

答:共有149种迈法。

分析:

首先从简单情况入手,若有1级台阶,则只有惟一的迈法,若有2级台阶,则有两种迈法,若有3级台阶,则有4种迈法,若有4级台阶,则按照第一步迈的级数分三类讨论:

①第一步迈一级台阶,那么还剩三级台阶,根据前面分析可知a3=4种万法。

②第一步迈二级台阶,还剩二级台阶,根据前面的分析可知有a2=2种迈法。

③第一步迈三级台阶,那么还剩一级台阶,还有a1=1种,然后依次求出a5、a6、a9。

freon1984
推荐于2016-12-02 · TA获得超过229个赞
知道小有建树答主
回答量:140
采纳率:0%
帮助的人:110万
展开全部
挺复杂的

算一下吧:

只用一步走:1+1+1+1+1+1+1+1+1=9, 有1种走法。

用了一次两步走:1+1+1+1+1+1+1+2=9, 有C8,1 =8种走法。
用了两次两步走:1+1+1+1+1+2+2=9, 有C7,2 =21 种走法。
用了三次两步走:1+1+1+2+2+2=9, 有C6,3=20 种走法。
用了四次两步走:1+2+2+2+2=9, 有C5,4=5种走法。

用了一次三步走:1+1+1+1+1+1+3=9, 有C7,1 =7种走法。

用了二次三步走:1+1+1+3+3=9, 有C5,2 =10种走法。

用了三次三步走:3+3+3=9, 有1种走法。

用了一次三步走+一次二步走:1+1+1+1+2+3=9, 有C6,1*C5,1 =30种走法。

用了一次三步走+二次二步走:1+1+2+2+3=9, 有C5,1*C4,2 =30种走法。

用了二次三步走+一次二步走:.1+2+3+3=9, 有C4,2*C3,1 =18种走法。

用了一次三步走+三次二步走:2+2+2+3=9, 有C4,1=4种走法。

加在一起:共155种走法。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a654e9ba5
2019-11-11
知道答主
回答量:2
采纳率:0%
帮助的人:1323
展开全部
可用编程实现:输入9,输出结果为149种
def sum(num):
if num<=0:
return -1
if num==1:
return 1
if num==2:
return 2
if num==3:
return 4
if num>3:
return sum(num-1)+sum(num-2)+sum(num-3)

num=int(input())
sum=sum(num)
if sum==-1:
print("error")
else:
print("the sum of choices is %d"%sum)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ylwx369
2012-12-22 · TA获得超过1558个赞
知道小有建树答主
回答量:2073
采纳率:25%
帮助的人:770万
展开全部
四种
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式