• pat 乙级1074


    题目如下:

    思考:

    1.0527 这个例子发现 如果为0 代表十进制

    2.需要去掉前面的0 如果是089 那么只需要输出 89

    3.长度+1,因为999+111 会产生进位

    4.两个字符串都是 0+0 这种情况需要考虑!

    代码如下:

    #include<cstdio> 
    #include<cstring>
    #include<algorithm>
    #include<iostream>
    using namespace std;
    int main(){
        string carry,m,n,c="";
        cin>>carry>>m>>n;
        int len=max(m.size(),n.size())+1;//要多一个位置来存储进位 
        reverse(carry.begin(),carry.end()) ;
        reverse(m.begin(),m.end());
        reverse(n.begin(),n.end());
        int num=0;
        for(int i=0;i<len;i++)
        { int a=i<m.size()?m[i]-'0':0,b=i<n.size()?n[i]-'0':0,mod=10;
            if(i<carry.size()&&carry[i]-'0'!=0)
            mod=carry[i]-'0';
            c+=(a+b+num)%mod+'0';
            num=(a+b+num)/mod;
        }
    //    cout<<c<<endl;
        while(c.back()=='0'&&c.size()>1) 
        c.pop_back();
        reverse(c.begin(),c.end());
        for(auto i:c)
        cout<<i;
        return 0;
    }

    参考:https://blog.csdn.net/richenyunqi/article/details/79810092

    无聊就学习 反正没事干
  • 相关阅读:
    js获取html参数。
    jquery判断单选按钮是否选中
    js滑动触屏事件监听
    单例模式之Java
    Android开发把项目打包成apk
    jdom解析XML 中文
    PhoneGap Connection
    java 文件操作
    html参数编码
    JS 判断字符串包含
  • 原文地址:https://www.cnblogs.com/miao-xixixi/p/12710734.html
Copyright © 2020-2023  润新知