为什么高精度只有50分

P1001 A+B Problem

SPACE_AI @ 2024-12-10 19:52:09

为啥高精度会错?

代码如下

#include<bits/stdc++.h>
using namespace std;
char arr[100000],brr[100000];
int crr[100000];
int main(){
    cin>>arr>>brr;
    int a=strlen(arr);
    int b=strlen(brr);
    int c=max(a,b);
    for(int i=0;i<a/2;i++){
        swap(arr[i],arr[a-i-1]);
    }
    for(int i=0;i<b/2;i++){
        swap(brr[i],brr[b-i-1]);
    }
    int p=0;
    for(int i=0;i<c;i++){
        int j=0;
        if(arr[i]==0)arr[i]='0';
        if(brr[i]==0)brr[i]='0';
        crr[i]=arr[i]-'0'+brr[i]-'0'+p;
        p=crr[i]/10;
        crr[i]%=10; 
    }
    if(p>0){
        crr[c++]=p;
    }
    for(int i=c-1;i>=0;i--){
        cout<<crr[i];
    }
    return 0;
}

by SPACE_AI @ 2024-12-10 19:53:19

https://www.luogu.com.cn/record/193844695

测评记录


by HZHDCM @ 2024-12-10 19:55:22

@SPACE_AI本题输入的可能是负数


by SPACE_AI @ 2024-12-10 19:58:18

@HZHDCM

哦懂了,谢谢,已关


|