Advertisement
Guest User

Untitled

a guest
Apr 18th, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.37 KB | None | 0 0
  1. vector<int> fun(string num) {
  2. vector<int> buf(num.size());
  3. for (int i = 0; i < num.size(); i++) {
  4. buf[i] = int(num[i]) - '0';
  5. }
  6. return buf;
  7. }
  8.  
  9. bool comp(string num1, string num2) {
  10. if (num1.size() < num2.size()) return true;
  11. else if (num1.size() == num2.size()) {
  12. for (int i = 0; i < num1.size(); i++) {
  13. if (num2[i] > num1[i]) return true;
  14. else if (num1[i] > num2[i]) return false;
  15. }
  16. }
  17. return false;
  18. }
  19.  
  20. int main() {
  21. bool is_neg = false;
  22. string num1, num2;
  23. cin >> num1 >> num2;
  24.  
  25. if (comp(num1, num2)) {
  26. swap(num1, num2);
  27. is_neg = true;
  28. }
  29.  
  30. vector<int> my1 = fun(num1);
  31. vector<int> my2 = fun(num2);
  32. vector<int> ans(num1.size(), 0);
  33. int i = 0;
  34.  
  35. for (i; i < num2.size(); i++) {
  36. ans[ans.size() - 1 - i] += my1[my1.size() - 1 - i] - my2[my2.size() - 1 - i];
  37. if (ans[ans.size() - 1 - i] < 0) {
  38. ans[ans.size() - 1 - i] += 10;
  39. ans[ans.size() - 2 - i]--;
  40. }
  41. }
  42.  
  43.  
  44. for (i; i < num1.size(); i++) {
  45. if (i != ans.size() - 1 && ans[ans.size() - 1 - i] < 0) {
  46. ans[ans.size() - 2 - i]--;
  47. ans[ans.size() - 1 - i] += 10;
  48. }
  49. ans[ans.size() - 1 - i] += my1[my1.size() - 1 - i];
  50. }
  51.  
  52.  
  53. if (is_neg) cout << "-";
  54. bool is_st = false;
  55.  
  56. for (i = 0; i < ans.size(); i++) {
  57. if (!(ans[i] == 0 && !is_st)) {
  58. cout << ans[i];
  59. is_st = true;
  60. }
  61. }
  62.  
  63. if (!is_st) cout << 0;
  64.  
  65. //system("pause");
  66. return 0;
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement