死循环求助
查看原帖
死循环求助
1625580
qiankun888楼主2025/2/7 11:06
#include<bits/stdc++.h>
using namespace std;
int n,cnt;
int main()
{
	cin>>n;
	while(n!=495)
	{
		int a[10];
		int ts=n;
		while(ts)
		{
			int tmp=ts%10;
			a[tmp]++;
			ts/=10;
		}
		int maxn=100;
		int minn=100;
		int maxtmp=0;
		int mintmp=0;
		for(int i=9;i>=0;i--)
		{
			if(a[i]>=1)
			{
				int tmp2=a[i];
				while(a[i])
				{
					a[i]--;
					maxtmp+=(i*maxn);
					maxn/=10;
				}
				a[i]=tmp2;
			}
		}
		for(int i=0;i<=9;i++)
		{
			if(a[i]>=1)
			{
				int tmp2=a[i];
				while(a[i])
				{
					a[i]--;
					mintmp+=(i*minn);
					minn/=10;
				}
				a[i]=tmp2;
			}
		}
		n=(maxtmp-mintmp);
		cnt++;
	}
	cout<<cnt<<endl;
	return 0;
}

2025/2/7 11:06
加载中...