题目

题意:数字黑洞,给定数字 排序生成最大和最小的数字相减直至差为6714或者0为止

tip:模拟

#include<cstdio>
#include<algorithm>
using namespace std;
int main () {
	int n,a[4]= {0,0},b;
	scanf("%d",&n);
	while(1) {//模拟 
		int max=0,min=0;
		for(int i=0; i<4; ++i) {
			a[i]=n%10;
			n/=10;
		}
		sort(a,a+4);
		for(int i=0; i<4; ++i)
			min=min*10+a[i];
		for(int i=3; i>=0; --i)
			max=max*10+a[i];
		n=max-min;
		printf("%04d - %04d = %04d\n",max,min,n);
		if(n==0||n==6174) break;
	}
	return 0;
}