题目:
代码:
#include<iostream>
using namespace std;
int sa[500][500];
int m,n;
int main()
{
cin>>m>>n;
int t=n-m+1;
sa[1][1]=1;
sa[2][1]=1;
for(int i=3;i<=t;i++)
{
//如果先算再进位,那你用高精度的目的是什么
for(int j=1;j<=500;j++)
{
//小心,由于有进位,所以必须为+=而非=
sa[i][j]+=(sa[i-1][j]+sa[i-2][j]);
if(sa[i][j]>=10)
{
sa[i][j]-=10;
sa[i][j+1]+=1;
}
}
}
int pd=1;
for(int j=500;j>=1;j--)
{
if(!sa[t][j]&&pd)
{
continue;
}
else
{
pd=0;
cout<<sa[t][j];
}
}
}