2981:大整数加法

总时间限制: 
1000ms

内存限制: 
65536kB
描述

求两个不超过200位的非负整数的和。

输入
有两行,每行是一个不超过200位的非负整数,可能有多余的前导0。
输出
一行,即相加后的结果。结果里不能有多余的前导0,即如果结果是342,那么就不能输出为0342。
样例输入
22222222222222222222
33333333333333333333
样例输出
55555555555555555555
来源
程序设计实习2007
思路:数据用字符串输入,将字符串转换为整型,转换的时候逆序,以便于后面进位,求和,去0输出!注意考虑到0+0的情况!
代码:

#include<iostream>
#include<stdio.h>
#include<string.h>
#include <stdlib.h>
using namespace std;
#define MAXLEN 2001
int a1[MAXLEN+];
int a2[MAXLEN+];
char str1[MAXLEN+];
char str2[MAXLEN+];
int main()
{
int i,j;
memset(a1,,sizeof(a1));//分配内存并初始化整型数组
memset(a2,,sizeof(a2));
int Len1,Len2;//定义字符数组的长度
scanf("%s%s",&str1,&str2);
Len1=strlen(str1);
Len2=strlen(str2);
j=;
for(i=Len1-;i>=;i--)//将字符串1转换为整型
{
a1[j]=str1[i]-'';
j++;
}
j=;
for(i=Len2-;i>=;i--)//将字符串2转换为整型
{
a2[j]=str2[i]-'';
j++;
}
if(Len1<Len2)//获取字符串最大长度
{
i=Len1;
Len1=Len2;
Len2=i;
}
for(i=;i<Len1;i++)//计算和的值
{
a1[i]+=a2[i];
if(a1[i]>=)
{
a1[i]=a1[i]-;
a1[i+]=a1[i+]+;
}
}
for(i=Len1;a1[i]==&&i>=;i--);//去掉多余的0,输出和
if(i>=)
{
for(;i>=;i--)
printf("%d",a1[i]);
}
else
printf("");//0+0的情况 return ;
}

2981:大整数加法-poj的更多相关文章

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

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

  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. openjudge计算概论-大整数加法

    /*=====================================================================1004:大整数加法总时间限制: 1000ms 内存限制: ...

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

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

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

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

  7. Javascript实现大整数加法

    记得之前面试还被问到过用两个字符串实现两个大整数相加,当时还特别好奇好好的整数相加,为什么要用字符串去执行.哈哈,感觉当时自己还是很无知的,面试官肯定特别的无奈.今天在刷算法的时候,无意中看到了为什么 ...

  8. [CodeWars][JS]实现大整数加法

    问题描述 实现‘字符串加法’,即将两个以字符串形式表示的数字相加,得到结果然后返回一个新的字符串. 例如:输入‘123’,‘321’,返回‘444’. 这样在进行两个任意大的整数相加的时候,既不会溢出 ...

  9. 大整数加法 HDU1002

    今天早上没事干又把这个敲了一遍,虽然手冻得不行,不过又深入理解理解还可以哈. 难点就在给你的整数可能很大很长,所以long long 肯定不行,得用字符串来读取存储,然后注意一下相加的时候进位,最后输 ...

随机推荐

  1. table插件

    //动态添加一行function addRow(){ var firstrow=document.getElementById('firstrow'); var firstCopy=firstrow. ...

  2. 【八】php三大流程控制总结

    1.顺序控制---不加控制的流程,默认按照顺序来执行你编写的代码 2.分支控制--有选择的来执行代码 单分支 语法:if(条件表达式){语句:} 快速入门 $age=150; if($age>1 ...

  3. 基于ElementUI的网站换主题的一些思考与实现

    前言 web应用程序,切换主题,给其换肤,是一个比较常见的需求. 如何能快速的切换主题色?(只有固定的一种皮肤) 如果又想把主题色切换为以前的呢?(有多种可切换的皮肤) 该以何种方式编写标签的css属 ...

  4. A strange lift

    Problem Description There is a strange lift.The lift can stop can at every floor as you want, and th ...

  5. Ignatius and the Princess IV(乱搞一发竟然过了)

    B - Ignatius and the Princess IV Time Limit:1000MS     Memory Limit:32767KB     64bit IO Format:%I64 ...

  6. Air Raid

    Air Raid Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Subm ...

  7. 1.Nginx 简介

    Nginx是Apache服务器不错的替代品,它能支持高达50 000个并发连接数的响应,而内存,CPU等系统资源消耗却非常低,运行非常稳定. 1.选择Nginx的理由 1.1 可以高并发连接 1.2 ...

  8. BZOJ-2330-[SCOI2011]糖果(差分约束)

    Description 幼儿园里有N个小朋友,lxhgww老师现在想要给这些小朋友们分配糖果,要求每个小朋友都要分到糖果.但是小朋友们也有嫉妒心,总是会提出一些要求,比如小明不希望小红分到的糖果比他的 ...

  9. mysql将字符串转化为数字

    我的字段为内容为数字,但是类型为字符串,需要使用CASE转换即可 SELECT MAX(CAST(C_id AS UNSIGNED)) INTO id 即查询出来最大的C_id,否则会按照字符串查询最 ...

  10. JDK8 指南(译)

    翻译自 java8-tutorial 新特性 Default Methods for Interfaces(接口的默认方法) Java 8 使我们能够通过使用 default 关键字将非抽象方法实现添 ...