记录编号 |
422175 |
评测结果 |
RRRRRRRRRR |
题目名称 |
增强的加法问题 |
最终得分 |
0 |
用户昵称 |
加藤惠 |
是否通过 |
未通过 |
代码语言 |
C++ |
运行时间 |
0.002 s |
提交时间 |
2017-07-09 09:44:20 |
内存使用 |
0.31 MiB |
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int x[151]={0},y[151]={0},a_length,b_length;
bool flag;
void subb()
{
if(flag)
{
for(int i=150;i>=1;i--)
{
x[i]=x[i]-y[i];
if(x[i]<0)
{
x[i-1]-=1;
x[i]+=10;
}
}
int k=1;
while(k<=150)
{
k++;
if(x[k]!=0)
break;
}
while(k<=150)
{
cout<<x[k];
k++;
}
}
else
{
cout<<"-";
for(int i=150;i>=1;i--)
{
y[i]=y[i]-x[i];
if(y[i]<0)
{
y[i-1]-=1;
y[i]+=10;
}
}
int k=1;
while(k<=150)
{
k++;
if(y[k]!=0)
break;
}
while(k<=150)
{
cout<<y[k];
k++;
}
}
}
int main()
{
freopen ("sub.in","r",stdin);
freopen ("sub.out","w",stdout);
string a,b;
cin>>a>>b;
a_length=a.length();
b_length=b.length();
for(int i=150,j=a_length-1;j>=0;i-- && j--)
x[i]=a[j]-48;
for(int i=150,j=b_length-1;j>=0;i-- && j--)
y[i]=b[j]-48;
if(a_length>b_length)
flag=true;
if(a_length<b_length)
flag=false;
if(a_length==b_length)
{
if(a>=b)
flag=true;
if(a<b)
flag=false;
}
subb();
if(a==b)
cout<<"0";
return 0;
}