#include<bits/stdc++.h>
using namespace std;
string minu(string a,string b){
    int flag=0;
    if (a.size() < b.size() || (a.size() == b.size() && a < b)){
        flag=1;
        swap(a,b);
    }
    int la=a.size(),lb=b.size(),f=0;
    string ans;
    while(la||lb||f){
        int t=(la>0?a[--la]-'0':0)-(lb>0?b[--lb]-'0':0)-f;
        f=0;
        if(t<0){
            t+=10;
            f=1;
        }
        ans+=char(t+'0');
    }
    reverse(ans.begin(), ans.end());
    while (ans[0]=='0'&&ans.size()>1) {
        ans.erase(ans.begin());
    }
    if (flag) {
        ans.insert(ans.begin(),'-');
    }
    return ans;
}
int main(){
    string a,b;
    cin>>a>>b;
    cout<<minu(a,b)<<endl;
    return 0;
}

2 条评论

  • @ 2025-7-8 19:05:43
    #include<bits/stdc++.h>
    using namespace std;
    string div(string a, int b) {
        long long r = 0, la = a.size();
        string ans;
        for (int i = 0; i < la; i++) {
            r = r * 10 + (a[i] - '0');
            ans += (char)(r / b + '0');
            r %= b;
        }
        while (ans[0] == '0' && ans.size() > 1) ans.erase(ans.begin()); 
        return ans;
    }
    int main(){
        string a;
        int b;
        cin>>a>>b;
        cout<<div(a,b)<<endl;
        return 0;
    }
    
    • @ 2025-7-8 18:38:34
      #include<bits/stdc++.h>
      using namespace std;
      string mul(string a,string b){
          int la=a.size(),lb=b.size(),r[4010]={0};
          for(int i=0;i<la;i++){
              for(int j=0;j<lb;j++){
                  r[i+j]+=(a[la-1-i]-'0')*(b[lb-1-j]-'0');
              }
          }
          int l=la+lb;
          string ans;
          for(int i=0;i<l;i++){
              r[i+1]+=r[i]/10;
              r[i]=r[i]%10;
              ans+=char(r[i]+'0');
          }
          reverse(ans.begin(), ans.end());
          while (ans[0]=='0'&&ans.size()>1) {
              ans.erase(ans.begin());
          }
          return ans;
      }
      int main(){
          string a,b;
          cin>>a>>b;
          cout<<mul(a,b)<<endl;
          return 0;
      }
      
      • 1

      信息

      ID
      628
      时间
      1000ms
      内存
      256MiB
      难度
      7
      标签
      (无)
      递交数
      106
      已通过
      25
      上传者