/*=====================================================================
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. ResourceManager学习之ApplicationMaster,NodeManager管理

    ApplicationMaster管理部分主要由三个服务构成,分别是ApplicationMasterLauncher.AMLivelinessMonitor和ApplicationMasterSer ...

  2. pyhton中map和reduce

    from functools import reduce import numpy as np ''' reduce[function, sequence[, initial]]使用 1.functi ...

  3. apache Directory Studio 简易使用

    apache Directory Studio 简易使用 本文首发:https://www.somata.work/2019/apacheDirectoryStudioSimpleUse.html 以 ...

  4. Scala环境安装步骤

    1.scala解释器本地安装 2.IDEA安装 3.安装IDEA的scala插件 4.创建maven项目 5.安装ScalaSDK

  5. Ignatius and the Princess IV (简单DP,排序)

    方法一:    直接进行排序,输出第(n+1)/2位置上的数即可. (容易超时,关闭同步后勉强卡过) #include<iostream> #include<cstdio> # ...

  6. java kafka

    https://blog.csdn.net/panchang199266/article/details/82113453 安装部署 scala语言开发 + java

  7. 【转】用 Consul 来做服务注册与服务发现

    原文:https://segmentfault.com/a/1190000018731395?utm_source=tag-newest ------------------------------- ...

  8. P1363 幻象迷宫[搜索]

    题目描述 (喵星人LHX和WD同心协力击退了汪星人的入侵,不幸的是,汪星人撤退之前给它们制造了一片幻象迷宫.) WD:呜呜,肿么办啊-- LHX:momo...我们一定能走出去的! WD:嗯,+U+U ...

  9. clean()方法的简单应用

    clean()方法主要用于验证相互依赖的字段,例如注册时,填写的“密码”和“确认密码”要相等时才符合要求. 在调用表单clean() 方法的时候,所有字段的验证方法已经执行完(表单字段的默认验证(如C ...

  10. Jmeter之JDBC类型组件

    一.背景 在测试过程中,避免不了与数据库打交道,比如数据的校验.数据的准备或者重置操作,又或者对数据库进行增删改查,基于以上诉求,在Jmeter中是如何实现的呢.可使用JDBC类型组件来实现以上功能操 ...