mirror of
https://github.com/xlucn/PAT.git
synced 2026-02-06 10:24:02 +08:00
34 lines
581 B
C
34 lines
581 B
C
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
|
|
int cmp(const void *a, const void *b)
|
|
{
|
|
return *(int*)b - *(int*)a;
|
|
}
|
|
|
|
int sort(int n)
|
|
{
|
|
int digits[4] = {n/1000, n%1000/100, n%100/10, n%10};
|
|
qsort(digits, 4, sizeof(int), cmp);
|
|
return digits[0] * 1000 + digits[1] * 100 + digits[2] * 10 + digits[3];
|
|
}
|
|
|
|
int reverse(int n)
|
|
{
|
|
return n/1000 + n%1000/100 * 10 + n%100/10 * 100 + n%10 * 1000;
|
|
}
|
|
|
|
int main()
|
|
{
|
|
int N;
|
|
|
|
scanf("%d", &N);
|
|
do {
|
|
N = sort(N);
|
|
printf("%04d - %04d = %04d\n", N, reverse(N), N - reverse(N));
|
|
N = N - reverse(N);
|
|
} while (N != 0 && N != 6174);
|
|
|
|
return 0;
|
|
}
|