數字黑洞的驗證

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