HDU1002 大数相加
题目地址: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 大数相加相关推荐
- 大数系列之大数相加(ACM通过)(一)
大数相加 概述:本题主要解决HDU 1002的大数相加问题并且成功AC 主要思路 1:定义两个字符数组和两个int型数组,输入字符串数组 2:将两个字符数组的长度用'0'补到一样长 3:倒着存入int ...
- javascript乘法和加法_JavaScript大数相加相乘的实现方法实例
前言 JavaScript 中的最大安全整数是 2 ^{53} – 1 ,即 9007199254740991,当我们进行超出这个范围的数值计算的时候就无法得到精确的值,而是一个近似值,比如我们计算 ...
- hdu A + B Problem II(大数相加,数组实现)
hdu A + B Problem II(大数相加,数组实现) 题目走起 注意最后一个case 不需要换行 下面代码 #include<stdio.h> #include<strin ...
- 大数相乘、大数相加、大数相减Java版本
为什么80%的码农都做不了架构师?>>> 题目:两个非常大的数字相乘(相加,相减) 该题目在java中可以使用BigInteger类中的方法来实现.否则的话可以使用如下方式来实 ...
- 两个函数式解决大数相加的方法
解决大数相加的方法有很多,网上很容易搜到,下面介绍两种,一种是在网上抄的,一种是自己想的,我将他们都用函数式的方式重写了一遍. 这种是在网上抄的,的确非常简洁 function add(a,b) {l ...
- 组成新数python_大数相加 简单实现 Python 版本
上一次写这种类型的题目 应该还是在读书的时候啦 今天偶然同学问一段python代码是啥意思 看了看 有点长 运行一下 像是大数相加 然后突然个想法 想试下 就写了一小段代码 运行了一下发现结果一样 应 ...
- python进行两个大数相加
python进行两个大数相加:由于int类型32位或64位都有长度限制,超出会内存溢出,无法计算,那么解决方法如下: 思路: 1.将超长数转换成字符串 2.进行长度补零,即让两个要计算的字符串长度一样 ...
- zcmu-1181(大数相加)
1181: a+b(不同于第一题) Time Limit: 10 Sec Memory Limit: 128 MB Submit: 920 Solved: 303 [Submit][Status] ...
- java 加法 溢出_java实现两个大数相加,可能出现溢出错误
java实现两个大数相加,可能存在溢出,如123456789 + 987654321 返回 1111111110 用BigInteger 三行就完事啊. 不用这个类也可以实现 public BigIn ...
最新文章
- Bluetooth ATT介绍
- html改变下拉框的大小,调整屏幕大小时,HTML导航栏下拉框内容无法正确调整大小...
- jsp的九大内置对象和四大作用域
- HTML 中的字符实体集
- [渝粤教育] 西南科技大学 数据库应用 在线考试复习资料(3)
- Android实现多条Toast快速显示(强制中止上一条Toast的显示)
- Redis集群方案介绍
- Codeforces 145E Lucky Queries 线段树
- Playmaker与iTween
- 20年在线考试计算机应用基础,20年春福师《计算机应用基础》在线作业一【参考答案】...
- Dreamweaver cs6运行出现错误16的解救方法
- python 广告联盟_谷歌广告月入10000美金的一些经验谈
- unigine 三维旋转矩阵(mat3,quat) scale translate 变换矩阵(mat4) 和forward up right 关系 normal binormal tangent
- 富途证券面经(一面挂)
- Leetcode 517. Super Washing Machines
- Mybatis03-封装MybatisUtil实体类
- 华为运营商级路由器配置示例 | 配置OptionC方式跨域BGP AD VPLS示例
- 面试:SurfaceView相关
- 管理故事:逃跑的老黄牛
- 百度地图的使用方法,如何在Vue项目中使用百度地图
热门文章
- angular directive自定义指令
- Linux网络编程服务器模型选择之IO复用循环并发服务器
- About SCCM 2012 UDA(User Device Affinity)
- 为什么装了ACDSEE 就不能点网站上的连接?
- [C#] Direct2D 学习笔记 (一)vb.net转换为c#
- 我总结的几种简单的调用Com组件的方法
- 四川大学计算机学院 期末考试安排,四川大学《计算机组成原理》2018期末考试B卷.doc...
- mysql unicode转汉字_任意汉字显示,给你的嵌入式系统(含MCU)装上字库
- python布尔类型运算_9.python的布尔类型与流程控制
- UIApplication详解