
Untitled
By: a guest on
May 5th, 2012 | syntax:
C++ | size: 1.47 KB | hits: 13 | expires: Never
#include <iostream>
#include <string>
#include <cstring>
using namespace std;
string s1,s2;
int a1[1002],a2[1002],res[1002];
char s3[1002];
int main ()
{
int l1,l2,k,i;
//freopen ("input.txt","r",stdin);
//freopen ("output.txt","w",stdout);
cin>>s1;
cin>>s2;
l1=s1.length();
l2=s2.length();
for (i=0; i<l1; i++)
a1[i]=(s1[l1-i-1]-'0');
for (i=0; i<l2; i++)
a2[i]=(s2[l2-i-1]-'0');
if (l1>l2)
{
for (i=0; i<l1-1; i++)
{
if (a1[i]>=a2[i])
res[i]=a1[i]-a2[i];
else
{
res[i]=10+a1[i]-a2[i];
a1[i+1]--;
}
}
res[l1-1]=a1[l1-1];
}
else {
if (l2>l1)
{
//printf ("-");
cout << "-";
for (i=0; i<l2-1; i++)
{
if (a2[i]>=a1[i])
res[i]=a2[i]-a1[i];
else
{
res[i]=10+a2[i]-a1[i];
a2[i+1]--;
}
}
res[l2-1]=a2[l2-1];
}
else {
if (l1==l2)
{
if (a1[l1-1]>=a2[l1-1])
{
for (i=0; i<l1-1; i++)
{
if (a1[i]>=a2[i])
res[i]=a1[i]-a2[i];
else
{
res[i]=10+a1[i]-a2[i];
a1[i+1]--;
}
}
res[l1-1]=a1[l1-1]-a2[l1-1];
}
else
{
//printf ("-");
cout << "-";
for (i=0; i<l2-1; i++)
{
if (a2[i]>=a1[i])
res[i]=a2[i]-a1[i];
else
{
res[i]=10+a2[i]-a1[i];
a2[i+1]--;
}
}
res[l2-1]=a2[l2-1]-a1[l2-1];
}
}
}}
k=1002;
while ((res[k]==0)&&(k!=-1))
k--;
if (k==-1)
printf("0");
else
{
for (i=k; i>=0; i--)
cout<<res[i];
}
cout<<endl;
return 0;
}