[蓝桥杯][算法提高VIP]数字黑洞
\(PAT\)时做过了,再做一遍,直接模拟即可。
输入保证四位数字不全相同。
int a[5];
int n;
void get(int x)
{
for(int i=3;i>=0;i--)
a[i]=x%10,x/=10;
}
int calc()
{
int res=0;
for(int i=0;i<4;i++)
res=res*10+a[i];
return res;
}
int main()
{
cin>>n;
int cnt=0;
while(true)
{
get(n);
sort(a,a+4,greater<int>());
int maxv=calc();
reverse(a,a+4);
int minv=calc();
n=maxv-minv;
cnt++;
if(n == 6174) break;
}
cout<<cnt<<endl;
//system("pause");
return 0;
}