《C语言》怎样爬楼梯?

《C语言》怎样爬楼梯?,第1张

楼梯有n阶台阶,上楼可以一步上1阶,也可以一步上2阶,编一程序计算共有多少种不同的走法?

【参考解答(递归法)】

基础:楼梯有一个台阶,只有一种走法(一步登上去);两个台阶,有2种走法(一步上去,或分两次上去);

递推:有n个台阶时,设有count(n)种走法,最后一步走1个台阶,有count(n-1)种走法;最后一步走2个台阶,有count(n-2)种走法。于是count(n)=count(n-1)+count(n-2)。

可见,此问题的数学模型竟然是斐波那契数。

#include<stdio.h>int main()

{    unsigned long count(int n)   int n   unsigned long m   printf("请输入楼梯的阶数:")   scanf("%d",&n)

m=count(n)   printf("有%lu种爬楼梯的方法\n",m)   return 0

}unsigned long count (int n)

{    unsigned long f   if(n==1)

f=1   else if(n==2)

f=2   else

f=count(n-1)+count(n-2)   return(f)

}1234567891011121314151617181920212223

Private Sub Command1_Click()

Dim n As Integer

n = InputBox("N=")

a = 1

b = 1

c = 1

For i = 3 To n

c = a + b

a = b

b = c

Next i

Print n"步楼梯共有"c"步走法"

End Sub


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11003748.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-12
下一篇 2023-05-12

发表评论

登录后才能评论

评论列表(0条)

保存