题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1002

#include <iostream>

#include <string>

using namespace std;

void Add(string a,string b,char sum[],int& count)

{//大数加法

int len1 = a.length();//数a的长度

int len2 = b.length();//数b的长度

int i = len1-1,j = len2-1,temp = 0,carryIn = 0;//初始进位为0

count = 0;

while(i>=0&&j>=0)

{

temp = a[i]-'0'+b[j]-'0'+carryIn;//计算当前位

sum[count++] = temp%10+'0';

carryIn = temp/10;//计算进位

--i;

--j;

}

if(i>=0)

{

while(i>=0)

{

temp = a[i]-'0'+carryIn;

sum[count++] = temp%10+'0';

carryIn = temp/10;

--i;

}

}

if(j>=0)

{

while(j>=0)

{

temp = b[j]-'0'+carryIn;

sum[count++] = temp%10+'0';

carryIn = temp/10;

--j;

}

}

if(carryIn>0)

{

sum[count] = '1';

}

}

void reversePrint(char arr[],int len)

{//逆向输出

for(int i=len-1;i>=0;--i)

cout<<arr[i];

cout<<endl;

}

int main()

{

string a,b;

char sum[2000];

memset(sum,'0',2000);

int nCount = 0;

int caseNum,curCase=0;

cin>>caseNum;

do

{

curCase++;

cin>>a>>b;

Add(a,b,sum,nCount);

cout<<"Case "<<curCase<<":"<<endl;

cout<<a<<" + "<<b<<" = ";

reversePrint(sum,nCount);

if(curCase<caseNum)

cout<<endl;

}while(curCase<caseNum);

return 0;

}

HDU1002 大数相加相关推荐

  1. 大数系列之大数相加(ACM通过)(一)

    大数相加 概述:本题主要解决HDU 1002的大数相加问题并且成功AC 主要思路 1:定义两个字符数组和两个int型数组,输入字符串数组 2:将两个字符数组的长度用'0'补到一样长 3:倒着存入int ...

  2. javascript乘法和加法_JavaScript大数相加相乘的实现方法实例

    前言 JavaScript 中的最大安全整数是 2 ^{53} – 1 ,即 9007199254740991,当我们进行超出这个范围的数值计算的时候就无法得到精确的值,而是一个近似值,比如我们计算 ...

  3. hdu A + B Problem II(大数相加,数组实现)

    hdu A + B Problem II(大数相加,数组实现) 题目走起 注意最后一个case 不需要换行 下面代码 #include<stdio.h> #include<strin ...

  4. 大数相乘、大数相加、大数相减Java版本

    为什么80%的码农都做不了架构师?>>>    题目:两个非常大的数字相乘(相加,相减) 该题目在java中可以使用BigInteger类中的方法来实现.否则的话可以使用如下方式来实 ...

  5. 两个函数式解决大数相加的方法

    解决大数相加的方法有很多,网上很容易搜到,下面介绍两种,一种是在网上抄的,一种是自己想的,我将他们都用函数式的方式重写了一遍. 这种是在网上抄的,的确非常简洁 function add(a,b) {l ...

  6. 组成新数python_大数相加 简单实现 Python 版本

    上一次写这种类型的题目 应该还是在读书的时候啦 今天偶然同学问一段python代码是啥意思 看了看 有点长 运行一下 像是大数相加 然后突然个想法 想试下 就写了一小段代码 运行了一下发现结果一样 应 ...

  7. python进行两个大数相加

    python进行两个大数相加:由于int类型32位或64位都有长度限制,超出会内存溢出,无法计算,那么解决方法如下: 思路: 1.将超长数转换成字符串 2.进行长度补零,即让两个要计算的字符串长度一样 ...

  8. zcmu-1181(大数相加)

    1181: a+b(不同于第一题) Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 920  Solved: 303 [Submit][Status] ...

  9. java 加法 溢出_java实现两个大数相加,可能出现溢出错误

    java实现两个大数相加,可能存在溢出,如123456789 + 987654321 返回 1111111110 用BigInteger 三行就完事啊. 不用这个类也可以实现 public BigIn ...

最新文章

  1. Bluetooth ATT介绍
  2. html改变下拉框的大小,调整屏幕大小时,HTML导航栏下拉框内容无法正确调整大小...
  3. jsp的九大内置对象和四大作用域
  4. HTML 中的字符实体集
  5. [渝粤教育] 西南科技大学 数据库应用 在线考试复习资料(3)
  6. Android实现多条Toast快速显示(强制中止上一条Toast的显示)
  7. Redis集群方案介绍
  8. Codeforces 145E Lucky Queries 线段树
  9. Playmaker与iTween
  10. 20年在线考试计算机应用基础,20年春福师《计算机应用基础》在线作业一【参考答案】...
  11. Dreamweaver cs6运行出现错误16的解救方法
  12. python 广告联盟_谷歌广告月入10000美金的一些经验谈
  13. unigine 三维旋转矩阵(mat3,quat) scale translate 变换矩阵(mat4) 和forward up right 关系 normal binormal tangent
  14. 富途证券面经(一面挂)
  15. Leetcode 517. Super Washing Machines
  16. Mybatis03-封装MybatisUtil实体类
  17. 华为运营商级路由器配置示例 | 配置OptionC方式跨域BGP AD VPLS示例
  18. 面试:SurfaceView相关
  19. 管理故事:逃跑的老黄牛
  20. 百度地图的使用方法,如何在Vue项目中使用百度地图

热门文章

  1. angular directive自定义指令
  2. Linux网络编程服务器模型选择之IO复用循环并发服务器
  3. About SCCM 2012 UDA(User Device Affinity)
  4. 为什么装了ACDSEE 就不能点网站上的连接?
  5. [C#] Direct2D 学习笔记 (一)vb.net转换为c#
  6. 我总结的几种简单的调用Com组件的方法
  7. 四川大学计算机学院 期末考试安排,四川大学《计算机组成原理》2018期末考试B卷.doc...
  8. mysql unicode转汉字_任意汉字显示,给你的嵌入式系统(含MCU)装上字库
  9. python布尔类型运算_9.python的布尔类型与流程控制
  10. UIApplication详解