#include <stdio.
int convert(int number[],int ans);
int *sort(int number[],int
int main(void)
{
int number[4] = {0};
int *p = NULL;
int n = 0;
int ans = 0;
int count = 0;
printf("??????????????");
scanf("%d",&n);
printf("????????%d\n\n",n);
ans = n;
while(ans!=6174)
{
ans = convert(number,ans);
++count;
}
printf("???%d?????????\n",count);
return 0;
int *sort(int number[],int len) //??????
{
int a =0;
for(int i=0; i<len; ++i)
{
for(int j=i+1;j<len;++j)
{
if(number[i] <number[j])
{
a = number[i];
number[i] = number[j];
number[j] = a;
}
}
}
return number;
}
int convert(int number[],int ans)//?????????
{
int *p = NULL;
int m=0;
number[0] = ans/1000; //????????
number[1] = ans%1000/100;
number[2] = ans%100/10;
number[3] = ans%10;
p = sort(number,4);
m=(*p*1000+*(p+1)*100+*(p+2)*10+*(p+3))- ( *(p+3)*1000+*(p+2)*100+*(p+1)*10+*p);//??????????
printf("%d-%d=%d\n",(*p*1000+*(p+1)*100+*(p+2)*10+*(p+3)),( *(p+3)*1000+*(p+2)*100+*(p+1)*10+*p),m);
return m;
}