/*=====================================================================
1004:大整数加法
总时间限制: 1000ms 内存限制: 65536kB
描述
求两个不超过200位的非负整数的和。

输入
有两行,每行是一个不超过200位的非负整数,可能有多余的前导0。
输出
一行,即相加后的结果。结果里不能有多余的前导0,即如果结果是342,那么就不能输出为0342。
样例输入
22222222222222222222
33333333333333333333
样例输出
55555555555555555555

解析:要注意输入的两个数都是0的情况需要特殊处理输出结果的过程。
=======================================================================*/

#include<stdio.h>
#include<string.h>
int main()
{
char a[],b[],c[];
int lenA,lenB,min,max,i,j,k;
int ai,bi,ci;
bool f=true;
freopen("add.in","r",stdin);
//freopen("add.out","w",stdout);
gets(a);
gets(b);
lenA=strlen(a);
lenB=strlen(b);
max=(lenA>lenB?lenA:lenB);
min=(lenA<lenB?lenA:lenB);
c[max]='\0';
ci=;
i=lenA-;
j=lenB-;
k=max-;
while(min>)//注意:这里不能写min>=0
{
ai=a[i]-'';
bi=b[j]-'';
c[k]=(ai+bi+ci)%+'';
ci=(ai+bi+ci)/;
i--;
j--;
k--;
min--;
}
if(lenA>lenB)
{
for(i=lenA-lenB-;i>=;i--)
{
c[i]=(a[i]-''+ci)%+'';
ci=(a[i]-''+ci)/;
}
}
else if(lenB>lenA)
{
for(i=lenB-lenA-;i>=;i--)
{
c[i]=(b[i]-''+ci)%+'';
ci=(b[i]-''+ci)/;
}
}
if(ci!=)
{
printf("%c",ci+'');
printf("%s",c);
f=false;
}
else
{
for(i=;i<max;i++)
if(c[i]!='') break;
for(;i<max;i++)
{
f=false;
printf("%c",c[i]);
}
}
if(f)//注意:假如输入的两个数都是0,结果就应该是要输出0了。
printf("");
printf("\n");
return ;
}

openjudge计算概论-大整数加法的更多相关文章

  1. OpenJudge计算概论-分离整数的各个数位

    /*================================================================= 分离整数的各个数位 总时间限制: 1000ms 内存限制: 65 ...

  2. AC日记——大整数加法 openjudge 1.6 10

    10:大整数加法 总时间限制:  1000ms 内存限制:  65536kB 描述 求两个不超过200位的非负整数的和. 输入 有两行,每行是一个不超过200位的非负整数,可能有多余的前导0. 输出 ...

  3. HDU1002——大整数加法

    题目: I have a very simple problem for you. Given two integers A and B, your job is to calculate the S ...

  4. 2981:大整数加法-poj

    2981:大整数加法 总时间限制:  1000ms 内存限制:  65536kB 描述 求两个不超过200位的非负整数的和. 输入 有两行,每行是一个不超过200位的非负整数,可能有多余的前导0. 输 ...

  5. POJ 2506 Tiling(递推+大整数加法)

    http://poj.org/problem?id=2506 题意: 思路:递推.a[i]=a[i-1]+2*a[i-2]. 计算的时候是大整数加法.错了好久,忘记考虑1了...晕倒. #includ ...

  6. OpenJudge计算概论-取石子游戏

    OpenJudge计算概论-取石子游戏[函数递归练习] /*====================================================================== ...

  7. A——大整数加法(HDU1002)

    题目: I have a very simple problem for you. Given two integers A and B, your job is to calculate the S ...

  8. 剑指offer第12题打印从1到n位数以及大整数加法乘法

       字符和数字加减就是字符的ASCII码和数字直接加减. 方法一: 1)在字符串操作中给一个整形数字加(字符0)就是把它转化为字符,当然给一个字符减去(字符0)就可以把它转化为数字了:如果确实是最后 ...

  9. Openjudge计算概论——数组逆序重放【递归练习】

    /*===================================== 数组逆序重放 总时间限制:1000ms 内存限制:65536kB 描述 将一个数组中的值按逆序重新存放. 例如,原来的顺 ...

随机推荐

  1. JAVA中为什么要使用接口,继承接口不是还要重写方法吗?为什么不直接写那些方法呢?:::接口的最主要的作用是达到统一访问

    接口的最主要的作用是达到统一访问 那么什么叫统一访问呢 举个例子 你这样想,我做一个USB接口,有个读的抽象方法 那叫read()吧,然后mp3类实现,U盘类实现,移动硬盘类实现,这样我用的时候用US ...

  2. Computer Vision_33_SIFT:TILDE: A Temporally Invariant Learned DEtector——2014

    此部分是计算机视觉部分,主要侧重在底层特征提取,视频分析,跟踪,目标检测和识别方面等方面.对于自己不太熟悉的领域比如摄像机标定和立体视觉,仅仅列出上google上引用次数比较多的文献.有一些刚刚出版的 ...

  3. Python_continue_break语句

    1.continue,break语句: userArray=['张三','李四','王五','老六'] for name in userArray: if(name=='王五'): continue ...

  4. Codeforces #364 (Div. 2) D. As Fa(数学公式推导 或者二分)

    数学推导的博客 http://codeforces.com/contest/701/problem/D  题目 推导的思路就是 : 让每个人乘车的时间相等 ,让每个人走路的时间相等. 在图上可以这么表 ...

  5. BZOJ 4316: 小C的独立集

    4316: 小C的独立集 思路:先将树上的转移做好.然后环上的转移就是强制最上面的的点选或者不选,然后在环上跑一遍转移就可以了. 代码: #pragma GCC optimize(2) #pragma ...

  6. What is URL Encoding and How does it work?

    Introduction A URL (Uniform Resource Locator) is the address of a resource in the world wide web. UR ...

  7. 通过supervisor自启动kafka服务

    一.supervisor安装:echo_supervisord_conf > /etc/supervisord.conf 二.生成基础配置:vi /etc/supervisord.conf最后添 ...

  8. 一次vaccum导致的事故

    1. 问题出现 晚上9点,现场报系统查询慢,运维查询zabbix后发现postgres最近几天的IOWait很大 2. 追踪问题 查询数据库,发现很多SQL堵住了 原因是真正创建index,导致表锁住 ...

  9. JavaScript this 的指向问题

    原文作者:SegmentFault ——写bug 原文链接:https://segmentfault.com/a/1190000015438195 this的指向已经是一个老生常谈的问题,每逢面试都要 ...

  10. python线程池及其原理和使用

    python线程池及其原理和使用 2019-05-29 17:05:20 whatday 阅读数 576 系统启动一个新线程的成本是比较高的,因为它涉及与操作系统的交互.在这种情形下,使用线程池可以很 ...