当前位置: 首页 > news >正文

2205 Problem B

2205 Problem B

问题 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 }

 

posted on 2016-07-15 16:17 asuml 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/asuml/p/5673988.html

相关文章:

  • [React]全自动数据表格组件——BodeGrid
  • csv格式导出文件
  • ASP.NET MVC进阶之路:深入理解依赖注入(DI)和控制反转(IOC)
  • 关闭listener监听日志
  • 文成小盆友python-num11-(1) 线程 进程 协程
  • 基于复制的高可用
  • IDA Pro使用
  • C#程序员应该养成的程序性能优化写法
  • 在python 中is和= = 的区别
  • 用U盘安装Ubuntu系统
  • Mac - 印象笔记开发者
  • 关于bootstrap列偏移的两种方式
  • Tortoise SVN安装后右键没有菜单的解决方法
  • 软件测试忠告
  • 桌面远程链接
  • 时间复杂度分析经典问题——最大子序列和
  • “大数据应用场景”之隔壁老王(连载四)
  • 2017届校招提前批面试回顾
  • Angular4 模板式表单用法以及验证
  • AngularJS指令开发(1)——参数详解
  • angular组件开发
  • canvas 五子棋游戏
  • CAP 一致性协议及应用解析
  • ECMAScript入门(七)--Module语法
  • ES6之路之模块详解
  • iOS编译提示和导航提示
  • Java 内存分配及垃圾回收机制初探
  • python学习笔记 - ThreadLocal
  • sessionStorage和localStorage
  • text-decoration与color属性
  • zookeeper系列(七)实战分布式命名服务
  • 大整数乘法-表格法
  • 服务器从安装到部署全过程(二)
  • 解决jsp引用其他项目时出现的 cannot be resolved to a type错误
  • 事件委托的小应用
  • 原生js练习题---第五课
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • 整理一些计算机基础知识!
  • ​​​​​​​Installing ROS on the Raspberry Pi
  • $jQuery 重写Alert样式方法
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (52)只出现一次的数字III
  • (C)一些题4
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (pytorch进阶之路)扩散概率模型
  • (SpringBoot)第二章:Spring创建和使用
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (翻译)Entity Framework技巧系列之七 - Tip 26 – 28
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (五)IO流之ByteArrayInput/OutputStream
  • (一)Dubbo快速入门、介绍、使用
  • (已解决)报错:Could not load the Qt platform plugin “xcb“
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)
  • (转)使用VMware vSphere标准交换机设置网络连接