提出詳細
ソースコード
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int asc(const void *a, const void *b) {
return *(int *)a - *(int *)b;
}
int main() {
int c;
int num;
int size[4];
int height;
int n = 0;
int num_o = 0;
int n_o = 0;
int count = 0;
int his = 0;
scanf("%d",&c);
for(int iii=1;iii<=c;iii++){
printf("Case #%d:\n",iii);
scanf("%d",&num);
num_o = num;
for(int ii = 0;ii < 4; ii++){
size[ii] = num % 10;
num /= 10;
}
qsort(size, 4, sizeof(int),asc);
n = size[3] * 1000 + size[2] * 100 + size[1] * 10 + size[0] - size[3] - size[2] * 10 - size[1] * 100 - size[0] * 1000;
n_o = n;
if(n != num_o){
count++;
}
while(1 == 1){
if(n_o == num_o){
printf("%d\n",count);
count = 0;
break;
}
for(int ii = 0;ii < 4; ii++){
size[ii] = n % 10;
n /= 10;
}
qsort(size, 4, sizeof(int),asc);
//printf("\n");
//printf("%d,%d\n",size[3] * 1000 + size[2] * 100 + size[1] * 10 + size[1],size[3] + size[2] * 10 + size[1] * 100 + size[0] * 1000);
n = size[3] * 1000 + size[2] * 100 + size[1] * 10 + size[0] - size[3] - size[2] * 10 - size[1] * 100 - size[0] * 1000;
if(n == n_o){
printf("%d\n",count);
count = 0;
break;
}
else{
n_o = n;
count++;
}
}
}
return 0;
}
提出情報
提出出力結果
テストケース情報