HPUOJ1163: 大数A + B [字符串](水)
2016-11-23 01:25
120 查看
1163: 大数A + B [字符串]
时间限制: 1 Sec 内存限制: 128 MB提交: 31 解决: 8
[提交][状态][讨论版]
题目描述
给定两个整数A和B,让你求出A+B
的值。
输入
第一行输入一个整数T,代表有T
组测试数据。
每组数据占两行,第一行输入一个整数A
,第二行输入一个整数B
。
注:1<=T<=30,1<=A,B<=10666666
。
输出
对每组数据,输出A+B的最后结果。
样例输入
1 233333333333333333333333333333333333333 666666666666666666666666666666666666666
样例输出
899999999999999999999999999999999999999
#include<stdio.h> //AC代码 #include<string.h> int max(int a,int b) { if(a>b) return a; return b; } char a[666666 +10];char b[666666 +10]; int A[666666 +10];char B[666666 +10]; int main() { int T; int i,la,lb,laa,lbb; scanf("%d",&T); while(T--){ scanf("%s%s",a,b); memset(A,0,sizeof(A)); memset(B,0,sizeof(B)); la=strlen(a);lb=strlen(b); laa=0; for(i=la-1;i>=0;i--) A[laa++]=a[i]-'0'; lbb=0; for(i=lb-1;i>=0;i--) B[lbb++]=b[i]-'0'; for(i=0;i<max(laa,lbb)+1;i++){ A[i]+=B[i]; if(A[i]>=10){ A[i]-=10; A[i+1]++; } } int flat=0; for(i=max(laa,lbb)+1;i>=0;i--){ if( flat) printf("%d", A[i]); else if( A[i] ) { printf("%d", A[i]); flat=1; } } printf("\n"); } return 0; }
相关文章推荐
- P1001 蓝桥杯算法提高-用字符串处理大数乘法
- 字符串表示 大数相乘
- 用字符串模拟两个大数相加——java实现
- 【字符串】【AOJ-152】A × B problem(大数相乘、高精度乘法)
- 大数问题:用字符串解决大数相加和相乘
- C++版大数相加:字符串实现
- SOJ 2301 大数+字符串处理
- codewars打怪升级日记 用JavaScript实现大数相加 /像数字一样加数字型字符串
- 分割 (大数的分割) 字符串的灵活使用
- 【hpuoj】大数A+B
- 67.LeetCode Add Binary(easy)[字符串 大数相加处理]
- 大数字符串的四则运算之加法----Java代码实现
- 大数加法的字符串实现
- 字符串模拟大数相加——Java实现
- 1163: 亲和串(字符串)
- HDU 1063 字符串 大数相乘
- hpuoj 1064 姓名介绍【多组字符串输入】
- lightoj 1214 - Large Division 【判大数整除 拆分字符串 同余】
- HDU 1316 How Many Fibs?(大数+字符串数字比较)
- 43. Multiply Strings 字符串表示的大数乘法