#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;
}
【PAT甲级】1069. The Black Hole of Numbers (20)
最新推荐文章于 2022-06-29 02:58:41 发布