题目地址:http://ac.jobdu.com/problem.php?pid=1198

题目描述:

实现一个加法器,使其能够输出a+b的值。

输入:

输入包括两个数a和b,其中a和b的位数不超过1000位。

输出:

可能有多组测试数据,对于每组数据,

输出a+b的值。

样例输入:
2 6
10000000000000000000 10000000000000000000000000000000
样例输出:
8
10000000000010000000000000000000
来源:
2010年华中科技大学计算机研究生机试真题
#include <stdio.h>
#include <string.h> typedef struct biginteger{
int digit[1000];
int size;
}BigInteger; void StrToInt (char str[], BigInteger * big){
int len = strlen (str);
int a, b, c, d, i, j;
i = 0;
while (len >= 4){
a = str[len - 4] - '0';
b = str[len - 3] - '0';
c = str[len - 2] - '0';
d = str[len - 1] - '0';
big->digit[i] = a * 1000 + b * 100 + c * 10 + d;
len -= 4;
++i;
}
if (len > 0){
big->digit[i] = 0;
for (j=0; j<len; ++j){
big->digit[i] = big->digit[i] * 10 + str[j] - '0';
}
++i;
}
big->size = i;
} void Add (BigInteger * a, BigInteger * b){
int carry = 0;
int sum = 0;
int len = (a->size > b->size) ? a->size : b->size;
int i;
for (i=0; i<len; ++i){
sum = a->digit[i] + b->digit[i] + carry;
carry = sum / 10000;
a->digit[i] = sum % 10000;
}
if (carry > 0){
a->digit[i] = carry;
a->size = i + 1;
}
else{
if (a->size < b->size)
a->size = b->size;
}
} int main(void){
BigInteger a, b;
char str1[1001], str2[1001];
int index; while (scanf ("%s%s", str1, str2) != EOF){
memset (a.digit, 0, sizeof(a.digit));
memset (b.digit, 0, sizeof(b.digit));
a.size = b.size = 0;
StrToInt (str1, &a);
StrToInt (str2, &b);
Add (&a, &b);
index = a.size - 1;
printf ("%d", a.digit[index]);
--index;
while (index >= 0){
printf ("%04d", a.digit[index]);
--index;
}
putchar ('\n');
} return 0;
}

九度OJ1198 a+b 【高精度整数】的更多相关文章

  1. 九度OJ 1514 数值的整数次方【算法】

    题目地址:http://ac.jobdu.com/problem.php?pid=1514 题目描述: 给定一个double类型的浮点数base和int类型的整数exponent.求base的expo ...

  2. 九度OJ 1190:大整数排序 (大数运算、排序)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:3219 解决:1467 题目描述: 对N个长度最长可达到1000的数进行排序. 输入: 输入第一行为一个整数N,(1<=N<=1 ...

  3. 九度oj 题目1084:整数拆分 清华大学2010年机试题目

    题目描述: 一个整数总可以拆分为2的幂的和,例如:7=1+2+4 7=1+2+2+2 7=1+1+1+4 7=1+1+1+2+2 7=1+1+1+1+1+2 7=1+1+1+1+1+1+1总共有六种不 ...

  4. 九度oj 题目1373:整数中1出现的次数(从1到n整数中1出现的次数)

    题目描述: 亲们!!我们的外国友人YZ这几天总是睡不好,初中奥数里有一个题目一直困扰着他,特此他向JOBDU发来求助信,希望亲们能帮帮他.问题是:求出1~13的整数中1出现的次数,并算出100~130 ...

  5. 九度OJ 1125:大整数的因子 (大数运算)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:974 解决:494 题目描述: 已知正整数k满足2<=k<=9,现给出长度最大为30位的十进制非负整数c,求所有能整除c的k. ...

  6. 九度oj 题目1063:整数和

    题目1063:整数和 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:4043 解决:2638 题目描述: 编写程序,读入一个整数N.若N为非负数,则计算N到2N之间的整数和:若N为一个负数 ...

  7. 剑指Offer - 九度1508 - 把字符串转换成整数

    剑指Offer - 九度1508 - 把字符串转换成整数2014-02-06 23:46 题目描述: 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数. 输入: 输入可能包含多个测试样例 ...

  8. 剑指Offer - 九度1373 - 整数中1出现的次数(从1到n整数中1出现的次数)

    剑指Offer - 九度1373 - 整数中1出现的次数(从1到n整数中1出现的次数)2014-02-05 23:03 题目描述: 亲们!!我们的外国友人YZ这几天总是睡不好,初中奥数里有一个题目一直 ...

  9. 剑指Offer - 九度1514 - 数值的整数次方

    剑指Offer - 九度1514 - 数值的整数次方2013-11-30 00:49 题目描述: 给定一个double类型的浮点数base和int类型的整数exponent.求base的exponen ...

随机推荐

  1. hdu4759 Poker Shuffle 2013 ACM/ICPC Asia Regional Changchun Online

    找了很久的规律,只看十进制数字,各种乱七八糟的规律=没规律!看了别人的解题报告,虽然看懂了,可是怎么发现的这个规律呢T.T~想了很久很久~ 以下是转载的别人的图,自己再画太麻烦了~全部看出0~2n-1 ...

  2. OpenCV 显示Mat矩阵异常 显示“程序停止工作” 解决办法

    笔者调试OpenCV 程序时,在使用标准输出显示Mat矩阵时,编译没有错误,但每次运行都弹出程序停止工作的对话框.google之,得到解决方案. 程序如下: #include <iostream ...

  3. careercup-中等难度 17.6

    17.6 给定一个整数数组,编写一个函数,找出索引m和n,只要将m和n之间的元素排好序,整个数组就是有序的.注意:n越小越好,也就是说,找出符合条件的最短序列. 解法: 开始解题之前,让我们先确认一下 ...

  4. 文件I/O(不带缓冲)之open函数

    调用open函数可以打开或创建一个文件. #include <fcntl.h> int open( const char *pathname, int oflag, ... /* mode ...

  5. mysql distinct跟group by性能

    mysql distinct和group by性能   1,测试前的准备 //准备一张测试表 mysql> CREATE TABLE `test_test` ( ->   `id` int ...

  6. java技术栈:一、java编程语言概述

    Java是一种编程语言,起源于20世纪90年代初Sun公司的一个叫Green的项目,该项目主要目的是是开发嵌入家用电器的分布式软件系统,从而使电器更加智能化.因为项目小组成员皆为C++的高手(那个年代 ...

  7. swift和oc区别----属性部分(参考官方swift2.1文档)

    对于实用过OC的人来说实用swift上手时非常容易的,swift包括了oc的大部分功能,但是swift毕竟是一门新的编程语言,它和OC还是 有很多不同的地方,而且提供了不少新功能,所以本人在读swif ...

  8. 关于Hibernate的总结

    主键的生成策略: * increment      :是由Hibernate完成的自动增长.(不是数据库底层的自动增长的方式.) * select  max(id) from  customer * ...

  9. jquery checkbox全选,全不选,反选方法,jquery checkbox全选只能操作一次

    jquery checkbox全选,全不选,反选方法, jquery checkbox全选只能操作一次, jquery checkbox全选只有第一次成功 >>>>>&g ...

  10. JAXB - Annotations, Type Mapping: XmlSchemaType

    The annotation XmlSchemaType defines a mapping between an arbitrary Java type and a simple schema bu ...