SDUTOJ 2613 This is an A+B Problem——大数模拟
发布时间:2020-12-14 03:31:25 所属栏目:大数据 来源:网络整理
导读:?? This is an A+B Problem Time Limit: 1000ms?? Memory limit: 65536K??有疑问?点这里^_^ 题目描述 As usual,there will be? an A+B ?problem in warming up ,this problem is: Given two integers A and B,your job is to calculate the sum of A + B.
|
?? This is an A+B ProblemTime Limit: 1000ms?? Memory limit: 65536K??有疑问?点这里^_^题目描述
As usual,there will be?an A+B?problem in warming up,this problem is:
Given two integers A and B,your job is to calculate the sum of A + B. 输入
?Th
ere are several test cases,For each test case:
There are two integers A,B for each case (0?≤?A,B < 101000). 输出
?For each test case,output one line containing the result of A+B.?
示例输入1 2
22222222221 22222222221
示例输出3
22222222222
提示大数模拟:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char s1[1100];
char s2[1100];
int ls[1110];
int main()
{
int l1,l2,i,j,y,a,b;
memset(s1,' ',sizeof(s1));
memset(s2,sizeof(s2));
memset(ls,sizeof(ls));
while(~scanf("%s%s",s1,s2))
{
l1=strlen(s1);
l2=strlen(s2);
if(l1==1&&s1[0]=='0'&&l2==1&&s2[0]=='0')
{
printf("0n");
continue;
} //处理0+0=0的情况
y=0;
for(i=l1-1,j=l2-1; i>=0||j>=0; i--,j--)
{
if(i>=0)
{
a=s1[i]-'0';
}
else
{
a=0;
}
if(j>=0)
{
b=s2[j]-'0';
}
else
{
b=0;
}
ls[y++]=a+b;
}
for(i=0; i<y; i++)
{
ls[i+1]+=(ls[i]/10);
ls[i]%=10;
}
i=y;
while(ls[i]==0)
{
i--;
}
for(; i>=0; i--)
{
printf("%d",ls[i]);
}
printf("n");
memset(s1,sizeof(s1));
memset(s2,sizeof(s2));
memset(ls,sizeof(ls));
}
return 0;
}
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
