#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);
}
}
數字黑洞的驗證
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.