社区讨论

求,改

P2142高精度减法参与者 4已保存回复 6

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
6 条
当前快照
1 份
快照标识符
@m054htgw
此快照首次捕获于
2024/08/22 18:11
2 年前
此快照最后确认于
2025/11/04 22:44
4 个月前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
int q[100010],q1[100010],q2[100010];
int sum1=0,sum2=0;
int main(){
    char a[100010],b[100010];
    cin>>a>>b;
    int n1,n2;
    n1=strlen(a);
    n2=strlen(b);
    for(int i=0;i<n1/2;i++){
    	swap(a[i],a[n1-1-i]);
	}
    for(int i=0;i<n2/2;i++){
    	swap(b[i],b[n2-1-i]);
	}
    for(int i=0;i<n1;i++){
    	q[i]=a[i]-'0';
	}
    for(int i=0;i<n2;i++){
    	q1[i]=b[i]-'0';
	}
    if(n2>n1)
    {
        for(int i=0;i<n2;i++){
        	swap(q[i],q1[i]);
		}
        sum1=1; 
    }
    if(n1>n2){
    	swap(n1,n2);
	}
    for(int i=0;i<n2;i++){
    	q2[i]=q[i]-q1[i];  
	}
    for(int i=0;i<n2;i++){
        if(q2[i]<0){ 
            q2[i]=10+q2[i];
            q2[i+1]--; 
        } 
    }
    if(sum1==1){
    	cout<<"-";
	}
    for(int i=n2-1;i>=0;i--){
        if(sum2==0){
            if(q2[i]!=0){
	            sum2=1;
	            cout<<q2[i];
	            continue;
            } 
        }
        if(sum2!=0){
            cout<<q2[i];
        }
    }
}

回复

6 条回复,欢迎继续交流。

正在加载回复...