数字黑洞的验证

版权声明:请勿轻易转载 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);
	}
}

猜你喜欢

转载自blog.csdn.net/weixin_43838723/article/details/88298682