Blue Bridge Cup 1530: [Blue Bridge Cup] [algorithm improves VIP] digital black hole

The basic idea:

And PAT digital black hole is similar, but simpler than which there is no judgment output and zero cases;

 

key point:

no;

 

#include<iostream>
#include<stdlib.h>
#include<stdio.h>
#include<vector> 
#include<string>
#include<math.h>
#include<algorithm>
#include<cstring>
using namespace std;

vector<int>vec;

int to_number() {
    int n = 0;
    for (int i = 0; i < 4; i++) {
        n = n * 10 + vec [i];
    }
    return n;
}

bool cmp(int a, int b) {
    return a > b;
}

int cnt_fun() {
    sort (vec.begin (), vec.end (), cmp);
    int a = to_number();
    sort (vec.begin (), vec.end ());
    int b = to_number();
    return a - b;
}

void vector_fun(int n) {
    vec.resize(0);
    for (int i = 0; i < 4; i++) {
        vec.push_back(n % 10);
        n /= 10;
    }
}

int main(){
    int n;
    cin >> n;
    vector_fun(n);
    int cnt = 0;
    while (n!=6174){
        cnt++;
        n = cnt_fun();
        vector_fun(n);
        //cout << n<<" ";
    }
    cout << cnt;
    return 0;
}

 

Guess you like

Origin www.cnblogs.com/songlinxuan/p/12291171.html