码迷,mamicode.com
首页 > 其他好文 > 详细

2205 Problem B

时间:2016-07-15 17:07:49      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:

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

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

题目描述

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

输入

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

输出

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

样例输入

1111111111
2222222222

样例输出

3333333333


 1 #include <iostream>
 2 #include <stdio.h>
 3 #include <string.h>
 4 using namespace std;
 5 char a[5555],b[5555];
 6 int tag=0,c[5555];
 7 int na,nb,cut;
 8 int i,j;
 9 int main()
10 {
11     while(cin>>a>>b){
12         tag=0;
13         na=strlen(a)-1;
14         nb=strlen(b)-1;
15         cut=max(na,nb);
16         for(i=na,j=nb;i>=0&&j>=0;i--,j--){
17             tag=(a[i]-0)+(b[j]-0)+tag;
18             if(i==0&&j==0){
19                 c[cut--]=tag;
20             }
21             if(tag>=10){
22                 c[cut--]=tag%10;
23                 tag=1;
24             }
25             else{
26                 c[cut--]=tag;
27                 tag=0;
28             }
29         }
30         while(i>=0){
31             tag=(a[i]-0)+tag;
32             if(i==0){
33                 c[cut--]=tag;
34             }
35             if(tag>=10){
36                 c[cut--]=tag%10;
37                 tag=1;
38             }
39             else{
40                 c[cut--]=tag;
41                 tag=0;
42             }
43             i--;
44         }
45         while(j>=0){
46             tag=(b[j]-0)+tag;
47             if(j==0){
48                 c[cut--]=tag;
49             }
50             if(tag>=10){
51                 c[cut--]=tag%10;
52                 tag=1;
53             }
54             else{
55                 c[cut--]=tag;
56                 tag=0;
57             }
58             j--;
59         }
60         cut=max(na,nb);
61         for(i=0;i<=cut;i++){
62             cout<<c[i];
63         }
64         cout<<endl;
65         memset(a,0,sizeof(a));
66         memset(b,0,sizeof(b));
67         memset(c,0,sizeof(b));
68     }
69     return 0;
70 }

 

2205 Problem B

标签:

原文地址:http://www.cnblogs.com/asuml/p/5673988.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!