蓝桥杯:求一个五位数的数字循环黑洞[快速排序]

任意一个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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值