hdu 1002 A + B Problem II
来源:互联网 发布:centos 7安装mysql 编辑:程序博客网 时间:2024/05/16 01:13
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1002
题目描述:
A + B Problem II
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 142237 Accepted Submission(s): 26991
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 not process 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
21 2112233445566778899 998877665544332211
Sample Output
Case 1:1 + 2 = 3Case 2:112233445566778899 + 998877665544332211 = 1111111111111111110
题意:两数相加。
题解:数组模拟。
代码:
/*hdu:A + B Problem II */#include<stdio.h>#include<stdlib.h>#include<string.h>#define DM 1000+5int Num1[1000+5]={0},Num2[1000+5]={0},Num[1000+5]={0};char GStr1[1000+5]={'\0'},GStr2[1000+5]={'\0'};int T=0;int Len1=0,Len2=0;/*initialize the var*/int InitVar(){ int i=0; for(i=0;i<=DM-1;i++) { Num1[i]=Num2[i]=Num[i]=0; } memset(GStr1,'\0',sizeof(GStr1)); memset(GStr2,'\0',sizeof(GStr2)); return(0);}/*pre deal the string*/int PreDeal(){ int i=0,i1=0,j=0,j1=0; for(i=Len1-1,i1=0,j=Len2-1,j1=0;i>=0||j>=0;i--,j--) { if(i>=0) { Num1[i1++]=GStr1[i]-48; } if(j>=0) { Num2[j1++]=GStr2[j]-48; } } return(0);}/*plus the two array*/int PlusNum(){ int i=0,c=0; for(i=0;i<=DM-1;i++) { c=c+Num1[i]+Num2[i]; Num[i]=c%10; c=c/10; } return(0);}/*print the num array*/int PrintNum(int Num[]){ int i=0; for(i=DM-1;i>=0;i--) { if(Num[i]>0) { break; } } for(;i>=0;i--) { printf("%d",Num[i]); } return(0);}/*for test*/int test(){ return(0);}/*main process*/int MainProc(){ scanf("%d",&T); int Cases=0; while(T--) { Cases++; InitVar(); scanf("%s%s",GStr1,GStr2); Len1=strlen(GStr1); Len2=strlen(GStr2); PreDeal(); PlusNum(); printf("Case %d:\n",Cases); PrintNum(Num1); printf(" + "); PrintNum(Num2); printf(" = "); PrintNum(Num); printf("\n"); if(T>0) printf("\n"); } return(0);}int main(){ MainProc(); return(0);}
- HDU 1002 A + B Problem II
- HDU 1002A + B Problem II
- HDU 1002 - A + B Problem II
- HDU 1002 A + B Problem II
- HDU 1002 A + B Problem II
- HDU 1002 A + B Problem II
- HDU 1002 A + B Problem II
- HDU 1002 A + B Problem II
- hdu 1002 A+B Problem II
- HDU 1002 A + B Problem II
- hdu 1002 A + B Problem II
- HDU 1002 A + B Problem II (BigNums)
- hdu 1002 A + B Problem II
- hdu 1002 A + B Problem II
- hdu 1002 A + B Problem II
- HDU 1002 A + B Problem II
- HDU 1002 A + B Problem II
- Hdu---A + B Problem II---1002
- java程序使用纯JDBC方式操作SQLServer2005数据库(无需配置数据源)
- typeof 与 instanceof
- javascript(获取或设置html元素的宽,高,坐标)
- 优化与求解非线性方程组(单变量问题)
- Oracle创建表、约束、视图、索引、序列、同义词、表空间
- hdu 1002 A + B Problem II
- 中国知网的“学术不端检测”
- 九度1468 Sharing
- memcpy惹的祸
- [转]在Ubuntu12.04上使用hostapd和dhcp3
- Ubuntu 12.04 the system is running in low-graphics mode
- C++关键字mutable
- SQLNET.AUTHENTICATION_SERVICES
- 基于LRU算法的缓存实现