#include<stdio.h>
#include<string>
#include<iostream>
using namespace std;
//高精度加法
//只能是两个正数相加
string add(string str1,string str2)//高精度加法
{
string str;
int len1=str1.length();
int len2=str2.length();
//前面补0,弄成长度相同
if(len1<len2)
{
for(int i=1;i<=len2-len1;i++)
str1="0"+str1;
}
else
{
for(int i=1;i<=len1-len2;i++)
str2="0"+str2;
}
len1=str1.length();
int cf=0;
int temp;
for(int i=len1-1;i>=0;i--)
{
temp=str1[i]-'0'+str2[i]-'0'+cf;
cf=temp/10;
temp%=10;
str=char(temp+'0')+str;
}
if(cf!=0) str=char(cf+'0')+str;
return str;
}
int main()
{ int T;
int ca=1;
cin>>T;
while(T--){
string str1;
string str2;
string sum;
cin>>str1>>str2;
//cout<<str1<<" "<<str2<<endl;
printf("Case %d:\n",ca++);
sum=add(str1,str2);
cout<<str1<<' '<<'+'<<' '<<str2<<' '<<'='<<' '<<sum<<endl;
//printf("%s + %s = %s\n",str1,str2,sum);
if(T>0)
cout<<endl;
}
return 0;
}
hdu 1002 hdu 1047 大数加法
最新推荐文章于 2020-08-17 22:11:42 发布