社区讨论

80求调,第四个测试点WA

P1601高精度加法参与者 2已保存回复 1

讨论操作

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

当前回复
1 条
当前快照
1 份
快照标识符
@m5orke15
此快照首次捕获于
2025/01/09 11:23
去年
此快照最后确认于
2025/11/04 11:50
4 个月前
查看原帖
CPP
#include<bits/stdc++.h>
#include<cmath>
using namespace std;
int main()
{
    string as;
    string bs;
    cin>>as>>bs;
    int a[1000]={0};
    int b[1000]={0};
    int ans[1000]={0};
    if(as[0]==0&&bs[0]==0){
        cout<<0<<endl;
    }
    else{
        for(int i=as.size()-1;i>=0;i--){
            a[as.size()-i-1]=as[i]-'0';
        }
        for(int i=bs.size()-1;i>=0;i--){
            b[bs.size()-i-1]=bs[i]-'0';
        }
        int j=0;
        for(int i=0;i<max(as.size(),bs.size());i++){
            
            ans[i]=(a[i]+b[i]+j)%10;
            j=floor((a[i]+b[i]+j)/10);
        }
        ans[max(as.size(),bs.size())]=j;
        bool flag=0;
        for(int i=999;i>=0;i--){
            if(flag==1||ans[i]!=0){
                flag=1;
                cout<<ans[i];
            }
        }
        cout<<endl;
    }
    return 0;
}

回复

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

正在加载回复...