社区讨论
求,改
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 条回复,欢迎继续交流。
正在加载回复...