HDU 1002 A + B Problem II(大数相加)
2014-04-12 14:08
411 查看
题目:
http://acm.hdu.edu.cn/showproblem.php?pid=1002
题解:
发现,代码才是最好的题解。
代码:
http://acm.hdu.edu.cn/showproblem.php?pid=1002
题解:
发现,代码才是最好的题解。
代码:
#include<cstdio> #include<cstring> const int maxn=1005; char a[maxn],b[maxn],c[maxn]; void sum() { int lena=strlen(a); int lenb=strlen(b); int i,j,cid; int carry=0; memset(c,'\0',sizeof(c)); for(i=lena-1,cid=1004,j=lenb-1;j>=0&&i>=0;i--,j--,cid--) { c[cid]=(a[i]+b[j]+carry-2*'0')%10+'0'; carry=(a[i]+b[j]+carry-2*'0')/10; } while(i>=0) { c[cid]=(a[i]+carry-'0')%10+'0'; carry=(a[i]+carry-'0')/10; i--; cid--; } while(j>=0) { c[cid]=(b[j]+carry-'0')%10+'0'; carry=(b[j]+carry-'0')/10; j--; cid--; } if(carry==1) { c[cid]=carry+'0'; } } int main() { int T; int kase=1; scanf("%d",&T); while(T--) { scanf("%s %s",a,b); sum(); char *ans; int i; for(i=0;i<1005;i++) { if(c[i]!='\0') { ans=&c[i]; break; } } if(kase==1) { printf("Case %d:\n%s + %s = %s\n",kase++,a,b,ans); } else { printf("\nCase %d:\n%s + %s = %s\n",kase++,a,b,ans); } } return 0; }
相关文章推荐
- 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 大数相加
- hdu1002 A + B Problem II(大数相加)
- HDU 1002 A+B Problem II 大数相加
- HDU 1002 A + B Problem II 【大数相加】(3.16)
- B - A + B Problem II HDU - 1002 (大数相加问题)
- 【每日一题(19)】A + B Problem II(大数相加) HDU - 1002
- (大数相加)HDU 1002 A + B Problem II
- hdu 1002 A + B Problem II(大数相加)
- HDU 1002 A + B Problem II 大数相加
- HDU 1002 A + B Problem II 大数相加
- 杭电 1002 A + B Problem II【大数相加】
- hdu1002 A + B Problem II 大数
- 【杭电-oj】-1002-A + B Problem II(大数相加)
- 杭电 HDU 1002 A + B Problem II Java 大数的初级用法
- hdu 1002 A + B Problem II ( JAVA大数)