#include<iostream>
#include<vector>
using namespace std;
int main()
{
string s1,s2;
cin>>s1>>s2;
int len1=s1.size();
int len2=s2.size();
int bit=0;
int k=0;
vector<int>vi;
int t=0;
int i=0,j=0;
for( i=len1-1,j=len2-1;i>=0&&j>=0;i--,j--)
{
t=s1[i]-'0'-(s2[j]-'0')-bit;
if(t<0)
{
bit=1;
vi.push_back(t+10);
}
else
{
bit=0;
vi.push_back(t);
}
}
while(i>=0)
{
t=s1[i]-'0'-bit;
if(t<0)
{
bit=1;
vi.push_back(t+10);
}
else
{
bit=0;
vi.push_back(t);
}
i--;
}
while(j>=0)
{
t=10-bit-(s2[j]-'0');
vi.push_back(t);
j--;
}
if(bit==1)
{
vi[0]=10-vi[0];
for(int k=1;k<vi.size();k++)
{
vi[k]=10-vi[k]-bit;
}
}
if(bit==1)
cout<<"-";
for(int c=vi.size()-1;c>=0;c--)
{
cout<<vi[c];
}
cout<<endl;
}
大数相减C++实现
最新推荐文章于 2024-07-17 15:31:16 发布