任意一个5位数,比如:34256,把它的各位数字打乱,重新排列,可以得到一个最大的数:65432,一个最小的数23456。求这两个数字的差,得:41976,把这个数字再次重复上述过程(如果不足5位,则前边补0)。如此往复,数字会落入某个循环圈(称为数字黑洞)。

比如,刚才的数字会落入:[82962, 75933, 63954, 61974] 这个循环圈。

请编写程序,找到5位数所有可能的循环圈,并输出,每个循环圈占1行。其中5位数全都相同则循环圈为 [0],这个可以不考虑。

循环圈的输出格式仿照:

[82962, 75933, 63954, 61974]

其中数字的先后顺序可以不考虑。

代码如下:

#include

int

n;用于【临时】存储输入的5位数,以及以后计算的最大值和最小值的差值(递归算法)。

int

m[100],flag=0;///m[100]用于存放输入的5位数,以及计算出的最大值和最小值的差值;

///flag用于记录数组m的最后一个不为零的下标(或者说是递归的次数)。

fun()

{

int temp[5];

int i,j,t;

int max=0,min=0;

如果n是四位数则在前面补0

if(n<10000)

temp[0]=0;

temp[0]=n/10000;

temp[1]=n/1000;

temp[2]=n/100;

temp[3]=n/10;

temp[4]=n;

如果五个数字全部相等

if(temp[0]==temp[1] && temp[1]==temp[2]

&&

temp[2]==temp[3] && temp[4]==temp[5])

{

printf("[0]\n");

return;

}

///从大到小进行排序

for(i=0;i<5;i++)

for(j=i+1;j<5;j++)

if(temp[i]

{

t=temp[i];

temp[i]=temp[j];

temp[j]=t;

}

求出最大值

for(i=0;i<5;i++)

max=max*10+temp[i];

求出最小值

for(i=4;i>=0;i--)

min=min*10+temp[i];

求出差值,并且赋值给n,以便进行递归计算

n=max-min;

n的值与数组中的每个元素进行比较

for(i=0;i

if(n==m[i])如果有相等的则从i开始到数组结尾是数字黑洞

{

printf("[");

for(j=i;j

printf("%d,",m[j]);

printf("]\n");

return ;

}

m[flag++]=n;

fun();

}

void

main()

{

scanf("%d",&n);

m[0]=n;

flag++;

fun();

}

5位数的数字黑洞是多少_5位黑洞数相关推荐

  1. 给定一个N位数,得到一个N-k位的数中最小的数

    题目: 给定一个N位数,例如12345,从里面去掉k个数字,得到一个N-k位的数,    例如去掉2,4,得到135,去掉1,5,得到234.设计算法,求出所有得到的    N-k位数里面最小的那一个 ...

  2. 5位数的数字黑洞是多少_目前对于6174数字黑洞现象是否有合理的解释或证明?...

    6174数字黑洞计算的一个c#程序实现(原创) 先上结果: 两位数的数字黑洞(只有一组): 09,81,63,27,45 三位数的数字黑洞(只有一个): 495 四位数的数字黑洞(只有一个): 617 ...

  3. C#数字黑洞之一(卡普雷卡尔黑洞:重排求差黑洞)

    数字黑洞 数字黑洞,又称指的是某种运算,这种运算一般限定从某些整数出发,反复迭代后结果必然落入一个点或若干点的情况叫数字黑洞. 黑洞原是天文学中的概念,表示这样一种天体:它的引力场是如此之强,就连光也 ...

  4. AMNO.6 给出一个不多于5位的整数,要求 1、求出它是几位数 2、分别输出每一位数字 3、按逆序输出各位数字,例如原数为321,应输出123 输入 一个不大于5位的数字

    题目描述 给出一个不多于5位的整数,要求 1.求出它是几位数 2.分别输出每一位数字 3.按逆序输出各位数字,例如原数为321,应输出123 输入 一个不大于5位的数字 输出 三行 第一行 位数 第二 ...

  5. 给出一个不多于5位的整数,要求 1、求出它是几位数 2、分别输出每一位数字 3、按逆序输出各位数字,例如原数为321,应输出123。

    撰写人--软工二班--陈喜平 题目描述 给出一个不多于5位的整数,要求 1.求出它是几位数 2.分别输出每一位数字 3.按逆序输出各位数字,例如原数为321,应输出123. 将下面的程序填写完整. # ...

  6. 给一个不多于5位的正整数,要求: 1.求出它是几位数; 2.分别输出每一位数字; 3.按逆序输出各位数字;

    对一个数如何得出它是几位数并求出其个位.十位.百位.千位- 给一个不多于5位的正整数,要求: 1.求出它是几位数: 2.分别输出每一位数字: 3.按逆序输出各位数字: 代码如下 #include &l ...

  7. Excel无法完全显示超过11位数的数字?超简单方法1秒教给你!

    在Excel表格中输入超过11位数的数字时,会自动变为科学计数格式,无法全部显示所有数字,但当我们需要在单元格中显示超过11位数的数字,如何快速处理?最全最快的方法教给大家. 一.单引号 在输入长数字 ...

  8. php随机码生成有数字英文,用php生成一个可选位数的数字和英文随机码

    下面是用php生成一个可选位数的数字和英文随机码的相关内容,文章教程主要讲述与位数 数字 英文 随机码 相关的一些技术与知识,获取更多最新教程,下面是教程讲解: 用php生成一个可选位数的数字和英文随 ...

  9. VBA之正则表达式(14)-- 提取指定位数的数字

    实例需求:只提取字符串中2位~4位的数字(无小数点),提取结果为蓝色数字. 测试字符串:6688-部门员工共10人与2019年6月成功完成销售额889966订单数689 这次的话题有些太简单了吧!?任 ...

最新文章

  1. AI造假 vs AI打假 终结“猫鼠游戏”不能只靠技术
  2. swoole UDP TCP客户端
  3. 抢票 | AI未来说学术论坛第八期 深度学习特别专场
  4. mongo更新数组字段_更新mongodb中嵌套数组中的几个字段(使用pymongo)
  5. 新闻媒体是怎样使用计算机的,计算机技术在新闻上的应用
  6. dstwo linux 模拟器,dstwo md模拟器使用图文教程
  7. 10种优化Mac以获得最佳性能的简便方法
  8. mir2 client: review
  9. Synergy:亚马逊云服务(AWS)在亚太地区排名第一
  10. Echarts官方文档
  11. 一个简单的格式化信函生成器
  12. 华安基金高管事发 基金业突遇“公信力寒流”(ZT)
  13. React 问题总结
  14. Java中有哪些锁,区别是什么
  15. 然而沼跃鱼早就看穿了一切
  16. 网页编程(满屋花、金山打字、打地鼠)——张渣渣_的学习记录(4)
  17. 大数据导论--大数据安全与数据开放共享
  18. 用google协作平台6步轻松建立免费个人网站
  19. 用python画雪花 科赫曲线递归_【TCE的编程小讲堂】【Python】【第三期】如何画出科赫雪花?(下)...
  20. SSH Keylogger密码抓取

热门文章

  1. 拿到这份“小抄”,Amazon面试妥了
  2. 时下的XX币会不会成为AMD的救命稻草?
  3. VS“无法查找或打开PDB文件” 解决方案
  4. PHP 的 switch 语法
  5. 今目标登录时报网络错误E110
  6. 手把手教你python实现量价形态选股知乎_【手把手教你】Python量化股票市场情绪指标ARBR...
  7. 让Eclipse变酷点
  8. ubuntu20.04安装pip2
  9. 【NXP DN 系列】浅谈 DPAA1 Software Architecture 工作原理
  10. 使用贝塞尔曲线算法实现毛笔签名效果