zoukankan      html  css  js  c++  java
  • 1168:大整数加法

    传送门:http://ybt.ssoier.cn:8088/problem_show.php?pid=1168

    用字符将其读入,随后倒记在整数数组(一位一个数字)中(避免没地方好进位),加后进位,最后去掉多余的零,OK

     1 #include<iostream>
     2 #include<cstring>
     3 #define N 210
     4 using namespace std;
     5 int as[N],bs[N],lena,lenb;
     6 string a,b;
     7 int main(){
     8     cin>>a>>b;
     9     lena=a.size();
    10     lenb=b.size();
    11     for(int i=0;i<lena;i++)as[i]=a[lena-i-1]-'0';
    12     for(int i=0;i<lenb;i++)bs[i]=b[lenb-i-1]-'0';
    13     int length=max(lena,lenb);
    14     for(int i=0;i<length;i++)as[i]+=bs[i];
    15     for(int i=0;i<length;i++){
    16         if(as[i]>9){
    17             as[i+1]++;
    18             as[i]-=10;
    19             if(i==length-1)length++;
    20         }
    21     }
    22     while(length&&as[length]==0)length--;
    23     for(int i=length;i>=0;i--)cout<<as[i];
    24     cout<<endl;
    25 }
  • 相关阅读:
    哲学家进餐
    文件系统
    文件读写原理(转)
    数据库join种类
    http与https区别
    数字证书(转)
    B. Rebranding
    扩展欧几里德算法、证明及其应用
    CodeForces 7C Line
    UVALive 7147 World Cup
  • 原文地址:https://www.cnblogs.com/jzxnl/p/11030235.html
Copyright © 2011-2022 走看看