Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int A[4]={};
- void sort ();
- int main() {
- int skaicius;
- long long n;
- cin >> skaicius >> n;
- if (n > 100) {
- cout << "6174";
- return 0;
- }
- for (long long i=1; i<=n-1; i++) {
- A[0] = skaicius / 1000;
- A[1] = (skaicius / 100) - (A[0] * 10);
- A[2] = (skaicius / 10) - (A[0] * 100) - (A[1] * 10);
- A[3] = skaicius - (A[0] * 1000) - (A[1] * 100) - (A[2] * 10);
- sort();
- int naujasSkaicius;
- skaicius = A[0] * 1000 + A[1] * 100 + A[2] * 10 + A[3];
- naujasSkaicius = A[3] * 1000 + A[2] * 100 + A[1] * 10 + A[0];
- if (naujasSkaicius > skaicius) {
- skaicius = naujasSkaicius - skaicius;
- }
- else {
- skaicius = skaicius - naujasSkaicius;
- }
- }
- cout << skaicius;
- }
- void sort () {
- int low1, high1, low2, high2, lowest, middle1, middle2, highest;
- if (A[0]<A[1]) {
- low1 = A[0];
- high1 = A[1];
- } else {
- low1 = A[1];
- high1 = A[0];
- }
- if (A[2]<A[3]) {
- low2 = A[2];
- high2 = A[3];
- } else {
- low2 = A[3];
- high2 = A[2];
- }
- if (low1 < low2) {
- lowest = low1;
- middle1 = low2;
- } else {
- lowest = low2;
- middle1 = low1;
- }
- if (high1 > high2) {
- highest = high1;
- middle2 = high2;
- } else {
- highest = high2;
- middle2 = high1;
- }
- if (middle1 < middle2) {
- A[0] = lowest;
- A[1] = middle1;
- A[2] = middle2;
- A[3] = highest;
- } else {
- A[0] = lowest;
- A[1] = middle2;
- A[2] = middle1;
- A[3] = highest;
- }
- }
- /*
- 1234:
- 1 1234
- 2 3087
- 3 8352
- 4 6174
- 5 6174
- 6 6174
- 7 6174
- 1000000 6174
- 9753:
- 2 6174
- 3 6174
- 10 6174
- 7641 - 1467
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement