为什么这个样例3会过不了?
查看原帖
为什么这个样例3会过不了?
815335
catisher楼主2024/7/10 21:10

#include<iostream>
#include<vector>
void coutnum(std::string a,std::string b){
    int length_a=a.size();
    int length_b=b.size();
    int cnt=0;
    std::vector<int> ans;

    //
    while(length_a!=0&&length_b!=0){
        int c=a[length_a-1]+b[length_b-1]-48-48+cnt;
        if (c>=10){
            cnt=1;
            ans.push_back(c%10);
        }else {
            cnt=0;
            ans.push_back(c);
        }
        length_a--;
        length_b--;
    }

    if(length_a!=0){
        for(int i=0;i<length_a-1;i++){
            std::cout<<a[i];
        }
        a[length_a-1]+=cnt;
        std::cout<<a[length_a-1];
    }else
    if(length_b!=0){
        for(int i=0;i<length_b-1;i++){
            std::cout<<b[i];
        }
        b[length_b-1]+=cnt;
        std::cout<<b[length_b-1];
    }
    else if(cnt==1){
        std::cout<<1;
    }
    //
    for(int i=ans.size();i>0;i--){
        std::cout<<ans[i-1];
    }

    return ;
}
int main(){
    std::string a,b;
    std::getline(std::cin,a);
    std::getline(std::cin,b);
    coutnum(a,b);


}
2024/7/10 21:10
加载中...