《c语言》怎样爬楼梯?
楼梯有n个台阶。你可以一次上一两步。你能通过编程计算出多少种不同的方法?
[参考解(递归法)]依据:楼梯有一步,只有一条路(一步上);两步,有两条路(一步上,或两步上);递归:当有n步时,有count(n)条路,最后一步是一步,有count(n-1)条路;最后一步是两步,有count(n-2)条路。所以count(n)=count(n-1)count(n-2)。可见,这个问题的数学模型实际上是斐波那契数。
#包括和限制。h>intmain(){unsignedlongcount(intn)intnunsignedlongmprintf(“pleaseinputtheorderofstairs:”)scanf(%d“,&n)m=count(n)printf(“有%lu种爬楼梯的方法n”,m)return0}无符号longcount(intn){无符号longif(n==1)f=1elseif(n==2)f=2elsef=count(n-1)count(n-2)return(f)}12345678910112131415161718192021223
原文标题:c语言爬楼梯递归算法 《C语言》怎样爬楼梯?,如若转载,请注明出处:https://www.saibowen.com/news/23899.html
免责声明:此资讯系转载自合作媒体或互联网其它网站,「赛伯温」登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,文章内容仅供参考。