数学模型:此问题如果按照习惯,从前向后思考,也就是从第一阶开始,考虑怎么样到第二阶、第三节、第四阶……则很难找到问题的规律;而反过来先思考“到第n阶有哪几种情况”,答案就简单了,只有两种情况;
(1) 从第n-1阶到第n阶
(2) 从第n-2阶到第n阶
此问题为斐波那契数列的应用。
#include <iostream>
using namespace std;
int fun(int n)
{
if (n>0)
{
if (1 == n)
{
return 1;
}
else if (2 == n)
{
return 2;
}
else
{
return fun(n-1) +fun(n-2);
}
}
else
return 0;
}
int main()
{
int n;
cin>>n;
cout<<fun(n)<<endl;
return 0;
}