[ACM]hdu 1002 A + B Problem II (复习大数相加)
2014-03-10 19:10
471 查看
A + B Problem II
Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other)Total Submission(s) : 13 Accepted Submission(s) : 4
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
I have a very simple problem for you. Given two integers A and B, your job is to calculate the Sum of A + B.Input
The first line of the input contains an integer T(1<=T<=20) which means the number of test cases. Then T lines follow, each line consists of two positive integers, A and B. Notice that the integers are very large, that means you should notprocess them by using 32-bit integer. You may assume the length of each integer will not exceed 1000.
Output
For each test case, you should output two lines. The first line is "Case #:", # means the number of the test case. The second line is the an equation "A + B = Sum", Sum means the result of A + B. Note there are some spaces int the equation.Output a blank line between two test cases.
Sample Input
2 1 2 112233445566778899 998877665544332211
Sample Output
Case 1: 1 + 2 = 3 Case 2: 112233445566778899 + 998877665544332211 = 1111111111111111110
Author
Ignatius.L心得:
通过重写发现数组名真的很重要,不要起那些容易相混的数组名,很容易出错。得到了教训。这类的题只要沉得住气,肯定能做出来的。还有就是细心。思路就不多说了,直接上代码。
代码:
#include <iostream> #include <string.h> #include <algorithm> #include <stdio.h> using namespace std; char a[1004],b[1004]; int an[1004],bn[1004]; int lena,lenb; int main() { int t; cin>>t; for(int k=1;k<=t;k++) { memset(an,0,sizeof(an)); memset(bn,0,sizeof(bn)); cin>>a>>b; int c=0,d=0; lena=strlen(a);lenb=strlen(b); for(int i=lena-1;i>=0;i--) an[c++]=a[i]-'0'; for(int i=lenb-1;i>=0;i--) bn[d++]=b[i]-'0'; int maxlen; maxlen=lena>=lenb?lena:lenb; for(int i=0;i<maxlen;i++) { an[i]+=bn[i]; if(an[i]>=10) { an[i+1]++; an[i]-=10; } } int j; for(j=1003;j>=0;j--) if(an[j]!=0) break; cout<<"Case "<<k<<":"<<endl; cout<<a<<" + "<<b<<" = "; for(;j>=0;j--) cout<<an[j]; cout<<endl; if(k!=t) cout<<endl; } return 0; }
相关文章推荐
- [ACM]hdu 1002 A + B Problem II (复习大数相加)
- ACM--大数相加--HDOJ 1002--A + B Problem II
- 杭州电子科技大学(HDU)ACM刷题---------大数相加之1002详解
- HDU 1002 A + B Problem II 大数相加
- 杭电ACM 1002大数相加 两种方法
- B - A + B Problem II HDU - 1002 (大数相加问题)
- HDU 1002 A + B Problem II(两个大数相加)
- hdu 1002 大数相加
- hdu 1002 A + B Problem II 大数相加
- hdu 1002 java 大数相加
- HDU1002大数相加问题
- (大数相加)HDU 1002 A + B Problem II
- HDU 1002 A+B Problem II 大数相加
- hdu 1002大数相加
- hdu1002 大数相加问题
- hdu 1002 大数相加
- 杭电ACM 1002 大数相加
- HDU 1002 A + B Problem II 大数相加
- HDU 1002:A + B Problem II(大数相加)
- hdu--1002 大数相加 (连起来相加很容易,分开为啥错了?)