C语言函数训练之爬楼梯,C语言爬楼梯

C语言爬楼梯

#includestdio.h

做网站、网站制作,成都做网站公司-创新互联建站已向上1000+企业提供了,网站设计,网站制作,网络营销等服务!设计与技术结合,多年网站推广经验,合理的价格为您打造企业品质网站。

int main()

{int i,n,T,a[31]={1,1,2};

scanf("%d",T);

for(i=3;i31;i++)

a[i]=a[i-1]+a[i-2]+a[i-3];

for(i=0;iT;i++)

{scanf("%d",n);

printf("%d\n",a[n]);

}  

return 0;

}

C语言 函数。可爱的小明非常喜欢爬楼梯,他有时候一次爬一个台阶,有时候一次爬两个台阶,有时候一次

#include stdio.h

int main()

{int n,i,a[50];

scanf("%d",n);

for(a[0]=a[1]=1,i=2;i=n;i++)

a[i]=a[i-1]+a[i-2];

printf("%d\n",a[n]);

return 0;

}

《C语言》怎样爬楼梯?

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

【参考解答(递归法)】

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

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

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

#includestdio.hint 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


当前名称:C语言函数训练之爬楼梯,C语言爬楼梯
URL网址:http://pwwzsj.com/article/hohpsd.html