设为首页 加入收藏

TOP

hdu 1002 A + B Problem II(大正整数相加)
2015-11-21 00:54:36 来源: 作者: 【 】 浏览:1
Tags:hdu 1002 Problem 大正 整数 相加

代码:

?

#include
  
   
#include
   
     #define Min(a,b) ((a)<(b)?(a):(b)) using namespace std; char s1[10000],s2[10000],s3[10000]; int main() { int t; scanf(%d,&t); int tt=0; while(t--) { ++tt; if(tt!=1) printf( ); scanf(%s%s,s1,s2); int len1,len2,len3; len1=strlen(s1); len2=strlen(s2); len3=Min(len1,len2); int k=0; int i=len1-1; int j=len2-1; int pos=0; while(len3--) { int temp=(s1[i--]-'0'+s2[j--]-'0'+k); s3[pos++]=(temp%10+'0'); k=temp/10; } if(i==-1&&j==-1) { if(k!=0) s3[pos++]=k+'0'; } else if(i==-1&&j!=-1) { while(j>=0) { int temp=s2[j--]-'0'+k; s3[pos++]=(temp%10+'0'); k=temp/10; } if(k!=0) s3[pos++]=k+'0'; } else { while(i>=0) { int temp=s1[i--]-'0'+k; s3[pos++]=(temp%10+'0'); k=temp/10; } if(k!=0) s3[pos++]=k+'0'; } printf(Case %d: ,tt); printf(%s + %s = ,s1,s2); for(i=pos-1;i>=0;i--) { printf(%c,s3[i]); } printf( ); } return 0; } 
   
  


?

?

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇ZOJ - 3469 Food Delivery(区间DP) 下一篇POJ - 1062 昂贵的聘礼(最短路Dij..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: