爬楼梯问题算法 《C语言》怎样爬楼梯?
浏览量:1530
时间:2021-03-13 19:00:17
作者:admin
《C语言》怎样爬楼梯?
楼梯有n个台阶。你可以一次上一两步。你能通过编程计算出多少种不同的方法?
[参考解(递归法)]依据:楼梯有一步,只有一条路(一步上);两步,有两条路(一步上,或两步上);递归:当有n步时,有count(n)条路,最后一步是一步,有count(n-1)条路;最后一步是两步,有count(n-2)条路。所以count(n)=count(n-1)count(n-2)。可见,这个问题的数学模型实际上是斐波那契数。
#包括和限制。H>int main(){unsigned long count(int n)int n unsigned long m printf(“please input the order of stairs:”)scanf(%d“,&n)m=count(n)printf(“有%Lu种爬楼梯的方法n”,m) return 0}unsigned long count(int n){unsigned long if(n==1)f=1 else if(n==2)f=2 else f=count(n-1)count(n-2)return(f)}1234567891012131415161718192021223
C语言中的递归程序可以用非递归算法实现吗?
是的,所有递归都可以用循环和堆栈等价物重写。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。
下一篇
放大镜是什么镜 放大镜如何使用