#include <iostream>
#include <string>
/*project:两个大整数相加
**@author:浅滩
**data:2019.05.15
*/ using namespace std;
void add(const string &,const string &);
int main()
{
string str1,str2;
cin>>str1>>str2;
if(str1.size()>=str2.size())//我不知道为什么这莫该就ac通过了,一脸懵逼
add(str1,str2);
else add(str2,str1);
} void add(const string &str1,const string &str2)
{ int *num1=new int [str1.size()];
int *num2=new int [str2.size()];
int result_size;
//const int len=(str1.size()>str2.size()? str1.size():str2.size());
int result[];
fill(result,(result+),);//初始化结果数组 for(int i=;i<str1.size();i++)//字符串到整数数组的转换
num1[i]=str1[i]-'';
for(int i=;i<str2.size();i++)
num2[i]=str2[i]-'';
int s1=str1.size()-,s2=str2.size()-,k=(str1.size()>str2.size()? str1.size():str2.size())-;
cout<<k+;
while(s1>=&&s2>=)
{
result[k]=num1[s1]+num2[s2];
k--;s1--;s2--;
} while(s1>=)
{
result[k]+=num1[s1];
k--;s1--;
}
while(s2>=)
{
result[k]+=num1[s2];
k--;s2--;
}
// cout<<k+1;return;
result_size=(str1.size()>str2.size()? str1.size():str2.size())-;
for(int i=result_size;i>k+;i--)//从后向前进位
{
result[i-]+=result[i]/;
result[i]=result[i]%;
}
//cout<<result_size<<endl;
for(int i=k+;i<=k++result_size;i++)
cout<<result[i];
}
//之前的bug是下面这组测试数据
//456 98949444184
// 9683087243640
//98949444184 456结果不相同

之前的大数相加存在bug,这个ac通过了的更多相关文章

  1. POJ 1503 Integer Inquiry(大数相加)

    一.Description One of the first users of BIT's new supercomputer was Chip Diller. He extended his exp ...

  2. hdu acm-1047 Integer Inquiry(大数相加)

    Integer Inquiry Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)T ...

  3. 用字符串模拟两个大数相加——java实现

    问题: 大数相加不能直接使用基本的int类型,因为int可以表示的整数有限,不能满足大数的要求.可以使用字符串来表示大数,模拟大数相加的过程. 思路: 1.反转两个字符串,便于从低位到高位相加和最高位 ...

  4. 随机数组&大数相加

    随机生成10个数,填充一个数组,然后用消息框显示数组内容,接着计算数组元素的和,将结果也显示在消息框中 一,      设计思路: 先生成随机数数组,再将数组保存在一个字符串中,然后将数组各数字加和, ...

  5. java-两个大数相加

    题目要求:用字符串模拟两个大数相加. 一.使用BigInteger类.BigDecimal类 public static void main(String[] args) { String a=&qu ...

  6. POJ 1503 Integer Inquiry(大数相加,java)

    题目 我要开始练习一些java的简单编程了^v^ import java.io.*; import java.util.*; import java.math.*; public class Main ...

  7. 杭电ACM(1002) -- A + B Problem II 大数相加 -提交通过

    杭电ACM(1002)大数相加 A + B Problem II Problem DescriptionI have a very simple problem for you. Given two ...

  8. Linux C/C++ 编程练手 --- 大数相加和大数相乘

    最近写了一个大数相乘和相加的程序,结果看起来是对的.不过期间的效率可能不是最好的,有些地方也是临时为了解决问题而直接写出来的. 可以大概说一下相乘和相加的解决思路(当然,大数操作基本就是两个字符串的操 ...

  9. hdu1002大数相加

    A + B Problem II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tot ...

随机推荐

  1. 列表查询组件代码, 简化拼接条件SQL语句的麻烦

    列表查询组件代码, 简化拼接条件SQL语句的麻烦 多条件查询

  2. OpenGL编程(八)3D数学与坐标变换

    笛卡尔坐标 一维坐标系 以一个点为原点,选定一个方向为正方向(相反的方向为反方向),以一定的距离为标尺建立一维坐标系.一维坐标系一般应用于描述在一维空间中的距离. 举个例子:一维坐标系好比一条拉直的电 ...

  3. CSS Grid(CSS网格)

    Grid被设计来做一些Flexbox不能做的事情,所以不是被设计来取代Flexbox的. flexbox 一维的 Grid 二维的 总结:  Grid Items作用在Grid Container的直 ...

  4. [luogu2513 HAOI2009] 逆序对数列 (计数dp)

    题目描述 对于一个数列{ai},如果有iaj,那么我们称ai与aj为一对逆序对数.若对于任意一个由1~n自然数组成的数列,可以很容易求出有多少个逆序对数.那么逆序对数为k的这样自然数数列到底有多少个? ...

  5. django开发微信公众平台遇到的问题记录

    在pythonanywhere.com上使用django开发微信公众平台应用,结果用户发送的信息,微信服务器一次也没有成功转发到pythonanywhere上来,但是用接口测试工具调试却发现是正常的, ...

  6. Linux用shell链接上传文件

    yum install lrzsz 安装lrzsz ,直接拖拽到黑框框就可以上传了 或者使用 rz 命令,会弹出选择文件的框框

  7. 【codeforces 190C】STL

    [题目链接]:http://codeforces.com/problemset/problem/190/C [题意] 让你根据去掉标点符号的; pair 以及 int这两种类型; 确定出一种类型; 使 ...

  8. 修改UTC时间

    /sbin/hwclock --systohc date按照时间修正.

  9. 洛谷 P2243 电路维修

    P2243 电路维修 题目背景 Elf 是来自Gliese 星球的少女,由于偶然的原因漂流到了地球上.在她无依无靠的时候,善良的运输队员Mark 和James 收留了她.Elf 很感谢Mark和Jam ...

  10. 日志工具全面理解及配置应用---以Log4j例子

    一.日志系统基本常识 1.日志系统作用:将日志信息输出到控制台和文本文件,以追踪代码运行信息. 2.日志系统操作的是什么?日志系统打印信息,也是调用日志系统的log.Info(),log.Warn() ...