egogoboy

Untitled

May 11th, 2022 (edited)
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.93 KB | None | 0 0
  1. #include <iostream>
  2. #include <stdio.h>
  3. #include <cmath>
  4. #include <vector>
  5.  
  6. using namespace std;
  7.  
  8. int vozr(int k, vector<int>& m) {
  9.  
  10.     for (int i = 0; i < 3; i++) {
  11.         for (int j = 0; j < 3; j++) {
  12.             if (m[j] < m[j + 1]) {
  13.                 m[j + 1] += m[j];
  14.                 m[j] = m[j + 1] - m[j];
  15.                 m[j + 1] -= m[j];
  16.             }
  17.         }
  18.     }
  19.  
  20.     return m[0] * 1000 + m[1] * 100 + m[2] * 10 + m[3];
  21. }
  22.  
  23. int ub(vector<int> m) {
  24.  
  25.     return m[3] * 1000 + m[2] * 100 + m[1] * 10 + m[0];
  26.  
  27. }
  28.  
  29. void breaks(int n, vector<int>& m) {
  30.  
  31.     int k = n;
  32.  
  33.     for (int i = 0; i < 4; i++) {
  34.         m[i] = k % 10;
  35.         k = k / 10;
  36.     }
  37.  
  38. }
  39.  
  40. int main() {
  41.  
  42.     int n;
  43.     cin >> n;
  44.     vector<int> m(4);
  45.     breaks(n, m);
  46.  
  47.     int past = n, simple = vozr(n, m), simple2 = ub(m), temp = 0;
  48.  
  49.     while (simple - simple2 != past) {
  50.  
  51.         past = simple - simple2;
  52.         temp++;
  53.         breaks(past, m);
  54.         simple = vozr(past, m), simple2 = ub(m);
  55.  
  56.     }
  57.  
  58.     cout << past << endl << temp << endl;
  59.     return 0;
  60.  
  61. }
Advertisement
Add Comment
Please, Sign In to add comment