821.跳台阶n个台阶一次1or2个
include[HTML_REMOVED]
include[HTML_REMOVED]
using namespace std;
int jiecheng(int n)
{
if(n<=1)return 1;
int result=1;
for(int i=2;i<=n;i++)result*=i;
return result;
}
int main()
{
int n;
cin >> n;
int sum=1;//总共的跳法,都1默认可以
int i=0;//一次跳两个的次数
int tmp=n;
if(n==1)
{
cout << ‘1’ << endl;
return 0;
}
while(tmp-2>-1)
{
tmp-=2;
i++;
sum=sum+jiecheng(tmp+i)/jiecheng(i)/jiecheng(tmp);
}
cout << sum << endl;
return 0;
}
试了一下1到13都可以,14和15不行。请问是逻辑问题吗?哭了。有佬帮忙看一看吗