#include <cstdio>
#include <algorithm>
using namespace std;
int numAsc(int num){
int qian = num / 1000;
int bai = num / 100 % 10;
int shi = num / 10 % 10;
int ge = num % 10;
int a[5];
a[0] = qian;
a[1] = bai;
a[2] = shi;
a[3] = ge;
sort(a, a + 4);
return a[0] * 1000 + a[1] * 100 + a[2] * 10 + a[3];
}
bool cmp(int a, int b){
return a > b;
}
int numDesc(int num){
int qian = num / 1000;
int bai = num / 100 % 10;
int shi = num / 10 % 10;
int ge = num % 10;
int a[5];
a[0] = qian;
a[1] = bai;
a[2] = shi;
a[3] = ge;
sort(a, a + 4, cmp);
return a[0] * 1000 + a[1] * 100 + a[2] * 10 + a[3];
}
int main(){
int n;
scanf("%d", &n);
int result;
if(numDesc(n) == numAsc(n)){
printf("%04d - %04d = %04d\n", n, n, 0000);
}
else{
while(result != 6174){
result = numDesc(n) - numAsc(n);
printf("%04d - %04d = %04d\n", numDesc(n), numAsc(n), result);
n = result;
}
}
return 0;
}
PAT a1069题解
最新推荐文章于 2021-08-21 12:40:24 发布