Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <stdio.h>
- #include <cmath>
- #include <vector>
- using namespace std;
- int vozr(int k, vector<int>& m) {
- for (int i = 0; i < 3; i++) {
- for (int j = 0; j < 3; j++) {
- if (m[j] < m[j + 1]) {
- m[j + 1] += m[j];
- m[j] = m[j + 1] - m[j];
- m[j + 1] -= m[j];
- }
- }
- }
- return m[0] * 1000 + m[1] * 100 + m[2] * 10 + m[3];
- }
- int ub(vector<int> m) {
- return m[3] * 1000 + m[2] * 100 + m[1] * 10 + m[0];
- }
- void breaks(int n, vector<int>& m) {
- int k = n;
- for (int i = 0; i < 4; i++) {
- m[i] = k % 10;
- k = k / 10;
- }
- }
- int main() {
- int n;
- cin >> n;
- vector<int> m(4);
- breaks(n, m);
- int past = n, simple = vozr(n, m), simple2 = ub(m), temp = 0;
- while (simple - simple2 != past) {
- past = simple - simple2;
- temp++;
- breaks(past, m);
- simple = vozr(past, m), simple2 = ub(m);
- }
- cout << past << endl << temp << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment