1 条题解

  • 0
    @ 2025-2-4 19:42:01

    与上一题(大整数加法)差不多,代码只改了一点点:

    #include<bits/stdc++.h>
    using namespace std;
    char a1[205];
    char a2[205];
    long long s1;
    long long s2;
    long long n1[205];
    long long n2[205];
    long long n3[205];
    long long jw;
    long long maxx;
    bool qp;
    int main(){
    	cin>>a1>>a2;
    	s1=strlen(a1);
    	s2=strlen(a2);
    	for(int i=s1-1,j=1;i>=0;i--,j++){
    		n1[j]=a1[i]-'0';
    	}
    	for(int i=s2-1,j=1;i>=0;i--,j++){
    		n2[j]=a2[i]-'0';
    	}
    	maxx=max(s1,s2);
    	for(int i=1;i<=maxx;i++){
    		n3[i]=n3[i]+n1[i]-n2[i];
    		if(n3[i]<0){
    			n3[i]=n3[i]+10;
    			n3[i+1]--;
    		}
    	}
    	qp=false;
    	for(int i=maxx;i>=1;i--){
    		if(i==maxx&&n3[i]==0){
    			qp=true;
    		}else{
    			if(qp&&n3[i]==0){
    				qp=true;
    			}else{
    				qp=false;
    			}
    		}
    		if(!qp){
    			cout<<n3[i];
    		}
    	}
    	return 0;
    }
    
    
    • 1

    信息

    ID
    447
    时间
    1000ms
    内存
    256MiB
    难度
    9
    标签
    递交数
    9
    已通过
    5
    上传者