zoukankan      html  css  js  c++  java
  • 1169A+B问题终结版(高精度计算)

    描述

    给定两个整数A和B,输出A+B的值。A和B的值可能会很大很大,甚至达到100位。现在请你解决这一问题。

    输入

    两行,分别是两个整数A,B,换行隔开。A和B会很大很大。

    输出

    一个整数,即A+B的值

    输入样例 1 

    22222222222222222222
    33333333333333333333

    输出样例 1

    55555555555555555555

    这道题是高精度计算,也是小白通向大神之路上的必做题。难度相对较难,需要对字符串和数组十分熟练。
    代码:
     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 using namespace std;
     5 int a[2000],b[2000],c[2000];
     6 char al[2000],bl[2000];
     7 int main()
     8 {
     9     int la,lb,lc,x=0;
    10     gets(al);gets(bl);    //读入字符串a1,b1 
    11     la=strlen(al);lb=strlen(bl);    //1a,1b分别存在字符串a1,b1长度
    12     for(int i=0;i<=la-1;i++) a[la-i]=al[i]-48;
    13     for(int i=0;i<=lb-1;i++) b[lb-i]=bl[i]-48;     //将两个字符串分别转存到整形一维数组中
    14     lc=1;
    15     while(lc<=la||lc<=lb)    //判断两个大整数是否都还没有算完 
    16     {
    17         c[lc]=a[lc]+b[lc]+x;    //X表示前一次的进位 
    18         x=c[lc]/10;    //判断是否进一 
    19         c[lc]%=10;    //求相加后的数的个位 
    20         lc++;    //计算下一位数 
    21     }
    22     c[lc]=x;
    23     while(c[lc]==0&&lc>1) lc--;    //去掉多余的0
    24     for(int i=lc;i>=1;i--) cout<<c[i];
    25     return 0;
    26 }
  • 相关阅读:
    测试策略(1)
    css在网页中的一些重要运用
    拖拽禁止点击事件
    js入门的心结
    响应式布局
    web中的兼容性
    css中的bfc和ifc
    css格式化的基本运用
    css基础知识
    html中输入控件的元素
  • 原文地址:https://www.cnblogs.com/cyk20081108/p/13169032.html
Copyright © 2011-2022 走看看