0分求解
查看原帖
0分求解
1199889
IAKpoki楼主2024/4/6 14:15

高精做的

#include<bits/stdc++.h>
using namespace std;
struct fbnq{
	string s;
}; 
int arr1[9999900];
int arr2[9999900];
int arr3[9999900];
fbnq f[1010];
string add(int n){
	int len1=f[n-1].s.size();
	int len2=f[n-2].s.size();
	for(int i=0;i<len1;i++){
		arr1[i]=f[i-1].s[len1-1-i]-'0';
	}
	for(int i=0;i<len2;i++){
		arr2[i]=f[i-2].s[len2-1-i]-'0';
	}
	int len=max(len1,len2);
	for(int i=0;i<len;i++){
		arr3[i]+=arr1[i]+arr2[i];
		arr3[i+1]+=arr3[i]/10;
		arr3[i]%=10;
	}
	if(arr3[len]){
		len++;
	}
	string s1="";
	for(int i=len-1;i>=0;i--){
		s1+=arr3[i];
	}
	return s1;
    
}

int main(){
	f[1].s="1";
	f[2].s="1";
	int n,m;
	cin>>n>>m;
	for(int i=3;i<=n;i++){
		f[i].s=add(i);
	}
	cout<<f[n-m+1].s;
	return 0;
} 
2024/4/6 14:15
加载中...