任意一个5位数,比如:34256,把它的各位数字打乱,重新排列,可以得到一个最大的数:65432,一个最小的数23456。求这两个数字的差,得:41976,把这个数字再次重复上述过程(如果不足5位,则前边补0)。如此往复,数字会落入某个循环圈(称为数字黑洞)。
比如,刚才的数字会落入:[82962, 75933, 63954, 61974] 这个循环圈。
请编写程序,输出一个5位数的循环圈,若5位数全都相同则循环圈为 [0]。循环圈的输出格式仿照:
[82962, 75933, 63954, 61974]
算法实现
void digitBlackHole(int n) {
int digit[5],loop[5],i,maxdigit,mindigit;
if (n%11111) { //判断五位数是否全部相同
for (i=0; i<5; i++) {
digit[0]=n/10000; //分别计算各数位数字
digit[1]=(n%10000)/1000;
digit[3]=(n%100-n%10)/10;
digit[2]=(n%1000-digit[3]*10-n%10)/100;
digit[4]=n%10;
q