#include <bits/stdc++.h> 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 (n%1111==0) 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; }
PAT basic level 1019数字黑洞
最新推荐文章于 2024-07-19 19:11:19 发布