```cpp
#include<iostream>
#include<cstdio>
using namespace std;
int a[101],b[101],c[101];
void add(int a[],int b[])
{
register int i,k=0;
for(i=1;i<=a[0];++i)
{
c[i]=a[i]+b[i]+k;
k=c[i]/10;
c[i]%=10;
}
c[0]=a[0];
if(k) c[i]=k,c[0]=i;
for(i=0;i<=a[0];++i)
b[i]=a[i];
for(i=0;i<=c[0];++i)
a[i]=c[i];
return;
}
int main()
{
a[0]=1;a[1]=1;b[0]=1;b[1]=1;
int m,n;
cin>>n>>m;
n=m-n+1;
switch(n)
{
case 1:cout<<1;break;
case 2:cout<<2;break;
default:
for(int i=3;i<=n;++i)
add(a,b);
for(int i=a[0];i>=1;--i)
cout<<a[i];
}
}
```
by ReActor @ 2018-06-21 22:46:48
二楼同一楼
by ReActor @ 2018-06-21 22:47:34
@[ReActor](/space/show?uid=104724) 你数组开小了
```cpp
int a[101],b[101],c[101];
```
改成
```cpp
int a[1001],b[1001],c[1001];
```
即可AC
by LJC00118 @ 2018-06-21 22:49:04
@[LJC00118](/space/show?uid=51815)
感谢desu!!
by ReActor @ 2018-06-22 22:02:52