【文件属性】:
文件名称:下楼梯问题程序
文件大小:786B
文件格式:CPP
更新时间:2016-01-29 09:33:44
下楼梯 递归算法
15:46 2013/1/8#include
// 定义全局变量:数组take,方案数num
int take[99];
int num = 0;
void Try(int i,int s)
{ int j,k;
for (j=3; j>0; j--)
{ if(i>=j)
{take[s] = j; // 记录第s步走j个台阶
if (i==j) // 如果已经到了楼下
{
num++; // 则方案数加1
cout << "方案" << num << ":"; // 输出此方案
for (k=1; k<=s; k++)
cout << take[k];
cout << endl; }
else // 尚未走到楼下
Try(i-j, s+1); // 再试剩下的台阶
}
}
}
int main( )
{
int n = 0; // n 是楼梯的台阶数
cout << "请输入楼梯台阶数:";
cin >> n; // 输入楼梯的台阶数
Try(n,1); // 从第n级,开始下第一步
cout << "总方案数:" << num << endl;
return 0;
}