问题标题: 求求了

0
0
已解决
潘登
潘登
高级天翼
高级天翼

递推题;

70分代码:

#include<bits/stdc++.h>
using namespace std;
long long n;
string x[10010]; 
int a[200+10],b[200+10],c[200+10];
string ad(string as,string bs){
	memset(a,0,sizeof(a));
	memset(b,0,sizeof(b));
	memset(c,0,sizeof(c));
	int al=as.size(),bl=bs.size();
	int cl=max(al,bl)+1;
	for(int i=1;i<=al;i++){
		  a[i]=as[as.size()-i]-'0';
	}
	for(int i=1;i<=bl;i++){
		  b[i]=bs[bs.size()-i]-'0';
	}
	string cs;
	for(int i=1;i<=cl;i++){
		c[i]+=a[i]+b[i];  
		c[i+1]=c[i]/10;
		c[i]%=10;
	}
	while(c[cl]==0&&cl>1)cl--;
	for(int i=cl;i>=1;i--){
		cs+=c[i]+'0';
	}
	return cs;
}
int main(){
	cin>>n;
	x[1]='1';
	x[2]='2';
	for(int i=3;i<=n;i++){
		x[i]=ad(x[i-1],x[i-2]);
	}
	cout<<x[n];
	return 0;
}

 

潘登在2021-11-18 20:53:10追加了内容

1

潘登在2021-11-19 18:02:46追加了内容

0~~n

潘登在2021-11-20 13:09:39追加了内容

2956


0
已采纳
袁宇泽
袁宇泽
高级守护
高级守护

数组定义小了,定为100005

 

0
0
0
潮文馨
潮文馨
新手光能
新手光能

哪一题?

话说你学到递推了么

0
我要回答