高精烧脑
  • 板块灌水区
  • 楼主liu_zheng
  • 当前回复3
  • 已保存回复3
  • 发布时间2024/7/1 22:57
  • 上次更新2024/7/2 09:36:03
查看原帖
高精烧脑
1056861
liu_zheng楼主2024/7/1 22:57
#include<bits/stdc++.h>
using namespace std;
string a,b; 
int main(){
    ios::sync_with_stdio(0),cin.tie(0);
	cin>>a>>b;
	int len1=a.size();
	int len2=b.size();
	if(len1>len2){
		for(int i=1;i<=len1-len2;i++){
			b='0'+b;
		}
	}
	if(len1<len2){
		for(int i=1;i<=len2-len1;i++){
			a='0'+a;
		}
	}
	int flag=false;
	if(a<b){
		swap(a,b);
		flag=true;
	}
	int len=a.size();
	string c=a;
	int jiewei=0;
	int j=0;
	 //状态 
	for(int i=len-1;i>=0;i--){//算各各位的和 
		int num1=a[i]-'0';
		int num2=b[i]-'0';
//		cout<<num1<<" "<<num2<<" "<<jiewei<<endl;
		int sum=(num1-num2-jiewei+10)%10;
		c[i]=sum+'0';
		if(num1<num2+jiewei){
			jiewei=1;
		}else jiewei=0;
	}
	int y=-1;
	for(int i=0;i<len;i++){
		if(c[i]!='0'&&y==-1){
			y=i;
		}
	}
	if(flag==true){
		cout<<"-";
	}
	if(y==-1){
		cout<<0;
		return 0;
	}
	for(int i=y;i<len;i++){
		cout<<c[i];
	}

	return 0;
}

//写半天才过

2024/7/1 22:57
加载中...