求助(悬赏关注)
查看原帖
求助(悬赏关注)
1069781
Lzj_qwq楼主2024/2/26 22:44
#include<iostream>
#include<cstring>
using namespace std;
struct Bigint{
	int len,a[1000];
	Bigint(int x=0){
		memset(a,0,sizeof(a));
		for(len=1;x!=0;++len)
			a[len]=x%10,x/=10;
		--len;
	}
	int &operator[](int i){
		return a[i];
	}
	void up(int l){
		len=l;
		for(int i=1;i<=len;++i)
			a[i+1]+=a[i]/10,a[i]%=10;
		while(a[len]==0) --len;
	}
};
ostream &operator<<(ostream &out,Bigint &a){
	int len=a.len;
	for(int i=max(len,1);i>=1;--i)
		out<<a[len];
	return out;
}
Bigint operator+(Bigint a,Bigint b){
	Bigint c; int len=max(a.len,b.len);
	for(int i=1;i<=len;++i)
		c[i]+=a[i]+b[i];
	c.up(len+1);
	return c;
}
int main(){
	long long n,m;
	Bigint f[1001]={1,1,2};
	cin>>m>>n; n-=m;
	for(int i=3;i<=n;++i)
		f[i]=f[i-1]+f[i-2];
	cout<<f[n];
	return 0;
}
2024/2/26 22:44
加载中...