HDOJ-1002 A + B Problem II (非负大整数相加)
http://acm.hdu.edu.cn/showproblem.php?pid=1002
输入的数都是正整数,比较好处理,注意进位。
//非负大整数加法 # include <stdio.h>
# include <string.h>
# define MAX 1100 int main()
{
int t;
char Num1[MAX], Num2[MAX], Num3[MAX];//Num3[] 用于保存结果 scanf("%d", &t);
for(int Count = 0; Count < t; Count++)
{
if(Count) printf("\n"); scanf("%s %s", Num1, Num2); //获取两个数字的位数
int Len1 = strlen(Num1);
int Len2 = strlen(Num2);
int Len3 = 0;
memset(Num3, '0', sizeof(Num3)); //从低位开始按位相加 先不管进位
for(int i = Len1 - 1, j = Len2 - 1; i >= 0 && j >= 0; i--, j--)
{
Num3[Len3++] = Num1[i] + Num2[j] - '0'; //如果有一个数组先为空 则把另一个数组里剩下的数字放入Num3[]
if(i == 0)
while(j--) Num3[Len3++] = Num2[j];
else if(j == 0)
while(i--) Num3[Len3++] = Num1[i];
} //处理进位
for(int i = 0; i < Len3; i++)
{
if(Num3[i] > '9')
{
Num3[i + 1] += (Num3[i] - '0') / 10;
Num3[i] = (Num3[i] - '0') % 10 + '0';
}
} //格式输出
for(int i = MAX - 1; i >= 0; i--)
{
if(Num3[i] != '0')
{
printf("Case %d:\n", Count + 1);
printf("%s + %s = ", Num1, Num2);
while(i >= 0) printf("%c",Num3[i--]);
printf("\n");
}
}
} return 0;
}
HDOJ-1002 A + B Problem II (非负大整数相加)的更多相关文章
- hdoj 1002 A + B Problem II
A + B Problem II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- hdoj 1002 A + B Problem II【大数加法】
A + B Problem II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- hdoj 1002 A + B Problem II 高精度 java
A + B Problem II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- Problem : 1002 ( A + B Problem II )
经验总结:一定要注意输出的格式,字符的空格,空行,一定要观察清楚.如本题的最后一个输出结果后面没有空行.最后代码实现的时候需要判断一下,代码如下 !=n) cout<<endl; Prob ...
- 抓起根本(二)(hdu 4554 叛逆的小明 hdu 1002 A + B Problem II,数字的转化(反转),大数的加法......)
数字的反转: 就是将数字倒着存下来而已.(*^__^*) 嘻嘻…… 大致思路:将数字一位一位取出来,存在一个数组里面,然后再将其变成数字,输出. 详见代码. while (a) //将每位数字取出来, ...
- HDU 1002 A + B Problem II(大整数相加)
A + B Problem II Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u De ...
- SOJ 1002/1003/1004 大整数相加/相乘/相除
三个题目分别考察大整数相加相乘相除运算.如果按照传统算法是取一个长数组,之后进行模拟或者FFT来进行运算.但是相对繁琐. 后来昨天的青岛区域赛网赛1001,用到了JAVA的BigDecimal,于是反 ...
- HDU 1002 A + B Problem II(高精度加法(C++/Java))
A + B Problem II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- hduoj 1002 A + B Problem II
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1002 题目描述如下: A + B Problem II Time Limit: 2000/1000 M ...
随机推荐
- kabina启动配置
启动 kibana # /usr/local/kibana-4.1.1-linux-x64/bin/kibana zjtest7-redis:/usr/local/kibana-4.5.3-linux ...
- 2014第2周四部署环境&买火车票
2014第2周四部署环境&买火车票 今天遇到mysql一个问题:要把两个包含不同数据库的绿色mysql安装包中的数据库文件合并到一个数据库中,之前在sqlserver下操作很简单,只需要分离. ...
- java List与数组互转
数组转List:String[] arr = new String[] {"str1", "str2"};List<String> list = A ...
- Rightmost Digit(快速幂+数学知识OR位运算) 分类: 数学 2015-07-03 14:56 4人阅读 评论(0) 收藏
C - Rightmost Digit Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit ...
- ubuntu 包维护
gnats == bug; tox = tales xillia ubuntu回显当前目录
- tangible T4 Editor 2.2.3 for VS2010 / VS2012 / VS2013 Preview
tangible T4 Editor 2.2.3 for VS2010 / VS2012 / VS2013 Preview angible T4 Editor 2.2.3 plus UML model ...
- Android日语输入法Simeji使用示例
MainActivity如下: package cn.testsimeji; import android.os.Bundle; import android.view.View; import an ...
- 放弃使用jQuery实现动画
在Web开发的圈子里,开发人员经常觉得CSS动画是一种高性能web动画技术.假设想让网页载入的更快一些,就应该用纯CSS动画.事实上这样的观点是错误的,非常多开发人员早就放弃了javascript的动 ...
- 【转换模型+扫描线】【UVA1398】Meteor
The famous Korean internet company nhn has provided an internet-based photo service which allows The ...
- HDU 5787 K-wolf Number
题意:l-r之间有多少个数,其连续k位不存在相同的数字 分析:数位dp,从高位开始向低位进行枚举.因为连续k个数字不相同,在枚举一个数字的时候, 要知道前k-1位的内容,这可以用一个4维的数组表示,再 ...