• 问题 B: 【高精度】简单高精度加法


    问题 B: 【高精度】简单高精度加法

    时间限制: 1 Sec  内存限制: 64 MB
    提交: 94  解决: 27
    [提交][状态][讨论版]

    题目描述

    修罗王解决了计算机的内存限制问题,终于可以使用电脑进行大型的魔法运算了,他交给邪狼的第一个任务是计算两个非负整数A、B的和,其中A和B的位数在5000位以内。

    输入

    共两行数据,第一行为一个非负整数A,第二行为一个非负整数B,A、B的位数均在5000以内。

    输出

    输出一个非负数,即两数之和。

    样例输入

    1111111111
    2222222222
    

    样例输出

    3333333333
    

    提示

     
    #include<iostream>
    #include<cstring>
    using namespace std;
    
    int main()
    {
       int c,i,j,cnt;
        int res[1111];
        char a[1111],b[1111];
       gets(a);
       gets(b);
            int lena=strlen(a);
            int lenb=strlen(b);
            c=0;
            cnt=0;
            for(i=lena-1,j=lenb-1;i>=0&&j>=0;i--,j--)
            {
                int p=(a[i]-'0')+(b[j]-'0')+c;
                res[cnt++]=p%10;
                c=p/10;
            }
           while(i>=0)
            {
                int p=(a[i]-'0')+c;
                res[cnt++]=p%10;
                c=p/10;
                i--;
            }
            while(j>=0)
            {
                int p=(b[j]-'0')+c;
                res[cnt++]=p%10;
                c=p/10;
               j--;
            }
            if(c)
            {
                res[cnt++]=c;
            }
            for(i=cnt-1;i>=0;i--)
            {
                cout<<res[i];
            }
            puts("");
    
        return 0;
    }
    

      

  • 相关阅读:
    按钮字体颜色的设置
    异常
    数据存储
    SQLiteOpenHelper
    MVC
    在单线程模型中 Message、Handler、Message Queue、Looper 之间的关系
    ListView 的优化方案
    fragment生命周期及优点
    ANR
    Android系统架构
  • 原文地址:https://www.cnblogs.com/AquamarineOnly/p/5676794.html
Copyright © 2020-2023  润新知