100个台阶,一次只能走1,2,3个台阶,有几种走法?利用冒泡排序怎么解????

100个台阶,一次只能走1,2,3个台阶,有几种走法?利用冒泡排序怎么解????

这是一个数列 f(n) = f(n-1) + f(n-2)+ f(n-3), f(1) = 1, f(2) = 2,f(3)=4;
n = 100.
用递归做就可以了。
//param x 台阶数目
int goadd(int x)
{
if (x == 1){
return 1;
}
else if (x == 2){
return 2;
}
else if (x == 3){
return 4;
}
else{
return goadd(x - 1) + goadd(x-2)+goadd(x-3);
}

}

void main()
{
printf("%d", goadd(5));
getchar();

}
还可以用组合数学方法做:
设有m次走1级,n次走2级,则有100-m-2n次走3级.总共走100-n次
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-03-07
最后一个数字递推关系楼上有说,是对的,更正的也是对的
相似回答