题目描述
已知:一个任意的四位正整数(全相同的除外,如1111)。将数字重新组合成一个最大的数和最小的数相减,重复这个过程,最多七步,必得6174。即:7641-1467=6174。将永远出不来。求证:所有四位数数字(全相同的除外),均能得到6174,输出掉进黑洞的步数。
输入
一个四位整数。
输出
掉进黑洞的过程。
样例输入
复制
3120
样例输出
复制
3210-123=3087
8730-378=8352
8532-2358=6174
点个赞吧,还有关注!!!
上代码!!!
#include <bits/stdc++.h>
using
namespace
std;
#define N 1000
int
x[5];
int
main() {
int
n;
cin >> n;
while
(
true
) {
x[0] = n / 1 % 10;
x[1] = n / 10 % 10;
x[2] = n / 100 % 10;
x[3] = n / 1000 % 10;
sort(x, x + 4);
int
max1 = x[3] * 1000 + x[2] * 100 + x[1] * 10 + x[0], min1 = x[0] * 1000 + x[1] * 100 + x[2] * 10 + x[3];
n = max1 - min1;
cout << max1 <<
"-"
<< min1 <<
"="
<< n << endl;
if
(n == 6174) {
break
;
}
}
return
0;
}