这是一个数列 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次
温馨提示:答案为网友推荐,仅供参考