【Basic Level】
*1019 //输出数字格式 边界条件
#include <iostream>
#include <algorithm>
using namespace std;
bool cmp(int a, int b)
{
return a > b;
}
int main()
{
int n;
cin >> n;
int a[4];
a[3] = n % 10;
a[2] = n / 10 % 10;
a[1] = n / 100 % 10;
a[0] = n / 1000;
if (a[0] - a[1] == a[2] - a[3] && a[1] == a[2])
cout << n << " - " << n << " = 0000\n";
else
{
int t = 0, j, k;
while (t != 6174)
{
sort(a, a + 4, cmp);
cout << a[0] << a[1] << a[2] << a[3] << " - ";
j = a[0] * 1000 + a[1] * 100 + a[2] * 10 + a[3];
sort(a, a + 4);
cout << a[0] << a[1] << a[2] << a[3] << " = ";
k = a[0] * 1000 + a[1] * 100 + a[2] * 10 + a[3];
t = j - k;
a[3] = t % 10;
a[2] = t / 10 % 10;
a[1] = t / 100 % 10;
a[0] = t / 1000;
cout << a[0] << a[1] << a[2] << a[3] << endl;
}
}
return 0;
}