【PAT甲级】1069. The Black Hole of Numbers (20)

来源:互联网 发布:淘宝杂货铺好做吗 编辑:程序博客网 时间:2024/06/08 00:04
#include <stdio.h>#include <algorithm>#include <math.h>using namespace std;bool cmp(int a, int b) {    return a > b;}int getNum(int *a);int main(int argc, char *argv[]) {    int in;    int a[4];    scanf("%d", &in);    for (int i = 0; i < 4; i++) {        a[i] = in / pow(10, 3 - i);        in = in % int(pow(10, 3 - i));    }    int last = -1;    while (true) {        int x, y, z;        sort(a, a + 4, cmp);        x = getNum(a);        sort(a, a + 4);        y = getNum(a);        z = x - y;        if (z == last) break;        printf("%04d - %04d = %04d\n", x, y, z);        last = z;        for (int i = 0; i < 4; i++) {            a[i] = z / int(pow(10, 3 - i));            z = z % int(pow(10, 3 - i));        }    }    return 0;}int getNum(int *a) {    int rt = 0;    for (int i = 0; i < 4; i++) {        rt = rt * 10 + a[i];    }    return rt;}
原创粉丝点击