zoukankan      html  css  js  c++  java
  • 【高精度】加法天才

    问题 A: 【高精度】加法天才

    时间限制: 1 Sec  内存限制: 64 MB
    提交: 14  解决: 10
    [提交] [状态] [讨论版] [命题人:]

    题目描述

    贝贝是一个聪明的小孩,他总喜欢玩数字加法的游戏。一天,他的数学老师为了考一考他的能力,出了一道这样的题:要求他在短时间内计算出两个大数相加的结果。这两个大数可不是普通的数字,它们是11位以上的“庞然大物”。
    请你编程序,帮贝贝解决这个问题。


    输入

    两行,分别是两个需要相加的数A和B,这两个数在10^11~10^100之间。


    输出

    1行,是两个大数相加的结果。


    样例输入

    8569742356145896
    215783669444444427
    
    

    样例输出

    224353411800590323
    
    #include <iostream>
    #include <string>
    using namespace std;
    string add(string a,string b){
        if(a.size()<b.size()){
            string temp=a;
            a=b;
            b=temp;
        }
        int len1=a.size(),len2=b.size(),flag=0,pa,pb,sum;
        while(len1>0){
            pa=a[len1-1]-'0';
            pb=len2>0?b[len2-1]-'0':0;
            sum=pa+pb+flag;
            a[len1-1]='0'+sum%10;
            flag=sum/10;
            len1--;len2--;
        }
        if(flag)a="1"+a;
        return a;
    }
    int main(){
        string a,b;
        cin>>a>>b;
        cout<<add(a,b)<<endl;
        return 0;
    }
    View Code

  • 相关阅读:
    2015第18周四
    2015第18周三程序员能力
    2015第18周二
    2015第18周一
    2015第17周日活在当下
    2015第17周六去除表中某字段重复记录
    2015第17周五
    2015第17周四
    Mac OS X Yosemite安装Hadoop 2.6记录
    GLEW_ERROR_NO_GL_VERSION的解决方法
  • 原文地址:https://www.cnblogs.com/Rhythm-/p/9350256.html
Copyright © 2011-2022 走看看