#include<stdio.h>
#include<string.h>
int main()
{
char a[201],b[201];
while(scanf("%s%s",a,b)!=EOF)
{
int a1=strlen(a);
int g=a1,i;
int b1=strlen(b);
int e[201],f[201];
for(i=0;i<a1;i++)
e[i]=a[i]-'0';
for(i=0;i<b1;i++)
f[i]=b[i]-'0';
for(i=b1-1;i>=0;i--)
{
e[g-1]=e[g-1]-f[i];
if(e[g-1]<0)
{
e[g-2]--;
e[g-1]+=10;
}
g--;
}
for(i=a1-b1-1;i>=0;i--)
{
if(e[i]<0)
{
e[i-1]--;
e[i]+=10;
}
else break;
}
for(i=0;i<a1;i++)
printf("%d",e[i]);
printf("\n");
}
return 0;
}
#118: 求两个大的正整数相减的差。
时间限制:2 sec. 内存限制:128 MB.
试题描述
求两个大的正整数相减的差。
输入格式
共2行,第1行是被减数a,第2行是减数b(a > b)。每个大整数不超过200位,不会有多余的前导零。
输出格式
一行,即所求的差。
样例输入
9999999999999999999999999999999999999
9999999999999
样例输出
9999999999999999999999990000000000000
其它说明