Advertisement
Guest User

Untitled

a guest
Apr 19th, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.72 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int A[4]={};
  6.  
  7. void sort ();
  8.  
  9. int main() {
  10.  
  11.   int skaicius;
  12.   long long n;
  13.   cin >> skaicius >> n;
  14.  
  15.   if (n > 100) {
  16.     cout << "6174";
  17.     return 0;
  18.   }
  19.  
  20.   for (long long i=1; i<=n-1; i++) {
  21.     A[0] = skaicius / 1000;
  22.     A[1] = (skaicius / 100) - (A[0] * 10);
  23.     A[2] = (skaicius / 10) - (A[0] * 100) - (A[1] * 10);
  24.     A[3] = skaicius - (A[0] * 1000) - (A[1] * 100) - (A[2] * 10);
  25.    
  26.     sort();
  27.    
  28.     int naujasSkaicius;
  29.     skaicius = A[0] * 1000 + A[1] * 100 + A[2] * 10 + A[3];
  30.     naujasSkaicius = A[3] * 1000 + A[2] * 100 + A[1] * 10 + A[0];
  31.    
  32.     if (naujasSkaicius > skaicius) {
  33.       skaicius = naujasSkaicius - skaicius;
  34.     }
  35.     else {
  36.       skaicius = skaicius - naujasSkaicius;
  37.     }
  38.   }
  39.  
  40.   cout << skaicius;
  41. }
  42.  
  43. void sort () {
  44.   int low1, high1, low2, high2, lowest, middle1, middle2, highest;
  45.  
  46.   if (A[0]<A[1]) {
  47.     low1 = A[0];
  48.     high1 = A[1];
  49.   } else {
  50.     low1 = A[1];
  51.     high1 = A[0];
  52.   }
  53.  
  54.   if (A[2]<A[3]) {
  55.     low2 = A[2];
  56.     high2 = A[3];
  57.   } else {
  58.     low2 = A[3];
  59.     high2 = A[2];
  60.   }
  61.  
  62.   if (low1 < low2) {
  63.     lowest = low1;
  64.     middle1 = low2;
  65.   } else {
  66.     lowest = low2;
  67.     middle1 = low1;
  68.   }
  69.  
  70.   if (high1 > high2) {
  71.     highest = high1;
  72.     middle2 = high2;
  73.   } else {
  74.     highest = high2;
  75.     middle2 = high1;
  76.   }
  77.  
  78.   if (middle1 < middle2) {
  79.     A[0] = lowest;
  80.     A[1] = middle1;
  81.     A[2] = middle2;
  82.     A[3] = highest;
  83.   } else {
  84.     A[0] = lowest;
  85.     A[1] = middle2;
  86.     A[2] = middle1;
  87.     A[3] = highest;
  88.   }
  89.  
  90. }
  91. /*
  92. 1234:
  93. 1 1234
  94. 2 3087
  95. 3 8352
  96. 4 6174
  97. 5 6174
  98. 6 6174
  99. 7 6174
  100. 1000000 6174
  101.  
  102. 9753:
  103. 2 6174
  104. 3 6174
  105. 10 6174
  106. 7641 - 1467
  107. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement