fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. const long long MOD=1e9+7;
  4. string tru(string a, string b){
  5. int x=0; // Số dư mỗi khi sang hàng khác
  6. int y=0; // Tính số mỗi khi sang hàng khác
  7. string ans="";
  8. a.insert(0,max(0,(int)(b.length()-a.length())),'0'); // Thêm vào ký tự 0 để sao cho xâu a có ký tự bằng b!
  9. b.insert(0,max(0,(int)(a.length()-b.length())),'0');
  10. for (int i=a.length()-1;i>=0;i--){
  11. y=((int)a[i]-38)-((int)b[i]-48)-x; // trừ 48,38 thì tra bảng Ascii sẽ hiểu, tự làm nhé
  12. if(y<10) x=1;
  13. else x=0;
  14. ans=(char)(y%10+48)+ans; //chuyển lại về ký tự để cho xâu
  15. }
  16. while (ans[0]=='0'&&ans.length()>1) ans.erase(0,1); //Để loại bỏ hàng lớn nhất nếu trừ triệt tiêu cho nhau!
  17. return ans;
  18. }
  19. signed main(){
  20. string m="6767676767676767676767676767676767";
  21. string n="3636363636363636363636363636363636";
  22. cout << tru(m,n);
  23. }
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
Success #stdin #stdout 0.01s 5292KB
stdin
Standard input is empty
stdout
3131313131313131313131313131313131