求助大佬(过不了)
查看原帖
求助大佬(过不了)
557408
Tony_rao楼主2022/7/1 21:59
#include<bits/stdc++.h>
using namespace std;
inline int read()
{
  int x=0;
  char c=getchar();
  for(; c<'0'  || c>'9';  c=getchar());
  for(; c<='9' && c>='0'; c=getchar())
    x=(x<<3)+(x<<1)+c-'0';
  return x;
}

string ans;

int main()
{
  string a,b;
  for(int i=0; i<a.size(); i++)
    a[i] = read();
  for(int i=0; i<b.size(); i++)
    b[i] = read();
  for(int i = min(a.size(),b.size()); i>=0; i--)
  {
    if(a[i]-b[i] < 0)
      a[i-1]--;
      ans[i] = 10+a[i]-b[i]
    else
      ans[i] = a[i]-b[i];
  }
  if(a.size() > b.size())
  {
    for(int i=0; i<a.size()-b.size(); i++)
      cout << a[i];
  }
  else
  {
    for(int i=0; i<b.size()-a.size(); i++)
      cout << b[i];
  }
  for(int i=0; i<min(a.size(),b.size()); i++)
    cout << ans[i];
  return 0;
}

思路就是把同样位数的数相减;

不相同位数的数,位数多的数减去位数小的数,多的位数直接输出

2022/7/1 21:59
加载中...