版权声明:请勿轻易转载 https://blog.csdn.net/weixin_43838723/article/details/88298682
#include<iostream>
using namespace std;
int max_min(int x)
{
int a[5];
a[0]=x%10;x/=10;
a[1]=x%10;x/=10;
a[2]=x%10;x/=10;
a[3]=x;
int i,j,flag,temp;
int max,min;
int n;
for(i=0;i<=3;i++)
{
flag=i;
for(j=i+1;j<=3;j++)
if(a[flag]<a[j])
flag=j;
temp=a[i];
a[i]=a[flag];
a[flag]=temp;
}
if(a[0]==a[1]&&a[0]==a[2]&&a[0]==a[3])
cout<<"输入不正确"<<endl;
max=1000*a[0]+100*a[1]+10*a[2]+a[3];
min=1000*a[3]+100*a[2]+10*a[1]+a[0];
n=max-min;
return n;
}
int main()
{
int m;
cin>>m;
int ans=m;
while(ans)
{
if(ans==6174)
{
cout<<"验证成功"<<endl;
return 0;
}
ans=max_min(ans);
}
}