You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

59 lines
1.2 KiB

#include <stdio.h>
#include <iostream>
using namespace std;
int small(int n) {
// 先确保是三位数
while (n < 100) n *= 10;
int digits[3];
for(int i = 0; i < 3; i++) {
digits[i] = n % 10;
n /= 10;
}
// 升序排列
for(int i = 0; i < 2; i++)
for(int j = i+1; j < 3; j++)
if(digits[i] > digits[j])
swap(digits[i], digits[j]);
return digits[0]*100 + digits[1]*10 + digits[2];
}
int big(int n) {
// 先确保是三位数
while (n < 100) n *= 10;
int digits[3];
for(int i = 0; i < 3; i++) {
digits[i] = n % 10;
n /= 10;
}
// 降序排列
for(int i = 0; i < 2; i++)
for(int j = i+1; j < 3; j++)
if(digits[i] < digits[j])
swap(digits[i], digits[j]);
return digits[0]*100 + digits[1]*10 + digits[2];
}
int main()
{
int n;
int k=0;
int kk=1;
cin >> n;
// 请在此添加代码,输出整数进入黑洞过程
/********** Begin *********/
while (k!=495){
k = big(n)-small(n);
cout<<kk<<':';
cout << big(n) <<'-'<<small(n)<<'='<<k<<endl;
n = k;
kk ++;
}
/********** End **********/
return 0;
}