想必现在有很多小伙伴对于杭州电子科技大学 ACM 1002题 为什么通不过方面的知识都比较想要了解,那么今天小好小编就为大家收集了一些关于杭州电子科技大学 ACM 1002题 为什么通不过方面的知识分享给大家,希望大家会喜欢哦。
这道题的数字范围很大,所以你必须考虑大数运算,以下是我的ac代码,希望你能从代码中掌握大数运算的知识,加油
#include
#include
版权归重芝士回放答网站或原作者传整所值有
char a[21][100001],b[21][100001],f[21][1000001];int c[1000000];
int main()
{
int i,j,d,l1,l2,m;
scanf("%d",&i);
getchar();
个法高加还相级较百增,每话亲识。
for(j=1;j<=i;j++)
{
scanf("%s%s",a[j],b[j]);
了就主面原比象统光教,八况素支住红。
l1=strlen(a[j])-1;
l2=strlen(b[j])-1;
for(m=1;m<=100000;m++)
{
c[m]=0;
}
m=0;
while(l1>=0&&l2>=0)
{
c[++m]+=a[j][l1]-'0'+b[j][l2]-'0';
if(c[m]>=10)
{
c[m+1]+=c[m]/10;
c[m]=c[m]%10;
}
l1--;l2--;
}
if(l1+1==0&&l2+1==0&&c[m+1]!=0)++m;
while(l1>=0)
{
c[++m]+=(int)a[j][l1]-48;l1--;
}
while(l2>=0)
{
c[++m]+=(int)b[j][l2]-48;l2--;
}
for(d=m;d>=1;d--)
{
f[j][m-d]=c[d]+'0';
}
}
for(j=1;j<=i;j++)
{
printf("Case %d:n",j);
printf("%s + %s =",a[j],b[j]);
printf("%sn",f[j]);
if(j!=i)printf("n");
}
}
本文到此结束,希望对大家有所帮助。