首页 > 其他 > 详细

【CODEVS3116】高精度练习之加法

时间:2016-02-16 08:44:30      阅读:226      评论:0      收藏:0      [点我收藏+]

Description

给出两个正整数A和B,计算A+B的值。保证A和B的位数不超过500位。

Input

读入两个用空格隔开的正整数

Output

输出A+B的值

Sample Input

3 12

Sample Output

15

Hint

两个正整数的位数不超过500位

 

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
char Sa[510],Sb[510];
int a[510],b[510];
int main()
{
    cin>>Sa>>Sb;
    int aLen=strlen(Sa),bLen=strlen(Sb); 
    for (int i=1;i<=aLen;i++) a[i]=Sa[aLen-i]-0;
    for (int i=1;i<=bLen;i++) b[i]=Sb[bLen-i]-0;
    int l=max(aLen,bLen);
    for (int i=1;i<=l;i++)
    {
        a[i]=a[i]+b[i];
        if (a[i]>=10)
        {
            a[i+1]++;
            a[i]%=10; 
        }                                                              
    }
    while (a[l+1]) l++;
    for (int i=l;i>=1;i--) 
        cout<<a[i];
    return 0;
}

 

【CODEVS3116】高精度练习之加法

原文:http://www.cnblogs.com/liumengyue/p/5191665.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!