#include<stdio.h>
void f(int N,int &max,int &min) {
int re[10]= {0},count=0;
while(N>0) {
int n = N%10;
re[n]++;
N=(N-n)/10;
count++;
}
re[0]+=4-count;
min=0;
for(int i=0; i<10; ++i) {
int n=re[i];
while(n>0) {
min=min*10+i;
--n;
}
}
max=0;
for(int i=9; i>-1; --i) {
int n=re[i];
while(n>0) {
max=max*10+i;
--n;
}
}
}
int main() {
int N,max,min;
scanf("%d",&N);
do {
f(N,max,min);
N=max-min;
printf("%04d - %04d = %04d\n",max,min,N);
} while(N!=6174 && N!=0);
return 0;
}
B1019
最新推荐文章于 2022-02-05 21:18:27 发布