0分求助(帮助必关)
查看原帖
0分求助(帮助必关)
601747
xibaohe楼主2023/4/5 12:04

学而思过了,在洛谷上又调了一下,0分,求助

#include<bits/stdc++.h>
using namespace std;

long long k, n, a[100005];
bool flag; 

int main()
{
while(cin>>n)
{
	string s=to_string(n);
	k=s.size();
	int cnt = 0;
	a[++cnt] = n;
	while(flag == false)
	{
		long long b[20], n1 = 0, n2 = 0, num = 0;
		while(n > 0)
		{
			int x = n % 10;
			b[++num] = x;
			n /= 10;
		}
		sort(b + 1, b + k + 1);
		for(int i = 1; i <= k; i++)
			n1 = n1 * 10 + b[i];
		for(int i = k; i >= 1; i--)
			n2 = n2 * 10 + b[i];
		n = n2 - n1;
		for(int i = 1; i <= cnt; i++)
		{
			if(n == a[i])
			{
				flag = true;
				for(int j = i; j <= cnt; j++)
					cout << a[j] << " ";
			}
		}
		a[++cnt] = n;
	}
	cout<<endl;
}
	return 0;
}
2023/4/5 12:04
加载中...