`

bool cmp(string a, string b){
	int lena = a.length();
	int lenb = b.length();
	if(lena != lenb) return lena > lenb;
	
	for(int i=0;i<lena;i++){
		if(a[i] != b[i]) return a[i]>b[i]; 
	}
	return 1;
}
string jian(string a1,string b1){
	string c1="";
	int a[10000]={},b[10000]={},c[10000]={};
	if(cmp(a1,b1)==0){
		cout<<"-";
		string t = a1; a1 = b1; b1 = t;
	}
	int lena = a1.length();  
	int lenb = b1.length(); 
	int lenc = lena;
	for(int i=0;i<lena;i++){
		a[i] = a1[lena-1-i]-'0';
	}
	for(int i=0;i<lenb;i++){
		b[i] = b1[lenb-1-i]-'0';
	}
	for(int i=0;i<lenc;i++){
		c[i] = a[i] - b[i];
		if(c[i]<0){
			c[i] += 10;
			a[i+1]--;
		}
	}
while(c[lenc-1]==0 && lenc>1) lenc--;
	
	for(int i=lenc-1;i>=0;i--){
		c1=c1+char(c[i]+48);
	}
	return c1; 
}

0 条评论

目前还没有评论...