题意:数字黑洞,给定数字 排序生成最大和最小的数字相减直至差为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;
}