信昌 PDC · 产品与技术资料捷比信主站 · 综合产品与服务
信昌 PDC电容与电阻
捷比信产品咨询0755-29796190

C语言代码实现:6174数学黑洞(Caprekal常数)

1:6174数学黑洞现象6174数学黑洞,即Kaprekar常数。选择4个不完全相同的数字(四个数字完全不同,例如1111将不起作用),进行最大排列减去最小排列(例如8753-3578),连续重复此操作,最后您将得到相同的结果是:6174。
魔术是:这种“最大减少”是指:动作最多不会超过7次! 2:现象再次出现让我们看一下五组实验的结果:请输入一个不同的四位数:3758输入的四位数是:3758第一次:8753-3578 = 5175二次:7551 -第三次-1557 = 5994:第四次9954-4599 = 5355:5553-3555 = 1998第五次:9981-1899 = 8082第六次:8820 -288 = 8532第七次:8532-2358 = 6174↑↑↑在进行了7次最大减少和最小操作后,请输入其他四位数:2517输入的四位数是:第一次2517:7521-1257 = 6264第二次:6642-2466 = 4176 3次: 7641-1467 = 6174↑最大减少次数和最小次数减少3次后,请输入其他四位数:6915输入的四位数是:6915第一次:9651-1569 = 8082 2次:8820&amp ; nbsp;-288 = 8532第三次:8532-2358 = 6174↑↑↑经过3次最大减少和最小动作后,请输入其他四位数:9073输入的r位数字是:9073第一次:9730 -379 = 9351第二次:9531-1359 = 8172第三次:8721-1278 = 7443第四次:7443-3447 = 3996第五次:9963-3699 = 6264第六次:6642-2466 = 4176第七次:7641-1467 = 6174↑↑↑在进行7次最大减少和最少操作后,请输入其他四位数:5287输入四位数是:5287第一次:8752-2578 = 6174↑减少最大次数后的动作3:C语言代码的实现接下来,我们使用C语言代码进行验证,代码实现如下://代码实现#include int convert(int number [],int ans); int * sort(int number [],int len); int main(void){int number [4]& nbsp; =& nbsp; {0}; int * p& nbsp; = NULL; int n& nbsp; = 0; int ans& nbsp; = 0; int count  = 0; printf(“请输入一个不同的四位数:”); scanf(“%d”,& n); printf(“输入的四位数是:%d " & nbsp;& nbsp;& nbsp; ans& nbsp; =& nbsp; n; while(ans!= 6174)& nbsp;& nbsp; {{& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& n; nbsp; & nbsp; =& nbsp;转换(number,ans); printf(“%d时间:%d " count + 1,ans);& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp; ++ count;& nbsp; & nbsp;& nbsp;} printf(“%d之后乘以最大和最小动作 " count); return 0;} int * sort(int number [],int len)//从大到小排序{int a& nbsp; = 0; for(int i = 0;  ifor(int j = i +1; jif(number [i]  return number;} int convert(int number [],int ans)//获得的数字通过每次转换{int * p& n = null; int m = 0;& nbsp;& nbsp;& nbsp; number [0]& nbsp ==& nbspans / 1000 ; //将此数字放入数组number [1]& nbsp; ans%1000/100;& nbsp;& nbsp;& nbsp;& nbsp;数字[2]& nbsp; =& nbsp; ans%100/10;& nbsp;& nbsp; number [3]& nbsp; =& nbsp; ans%10;& nbsp; & nbsp;& nbsp; p& nbsp; =& nbsp; sort(number,4);& nbsp;& nbsp;& nbsp;& nbsp; m =(* p * 1000 + *(p + 1)* 100 + *(p + 2)* 10 + *(p + 3))-& nbsp;(& nbsp; *(p + 3)* 1000 + *(p + 2)* 100 + *(p + 1)* 10 + * p); //最大数减去最小数返回m;}运行结果:【1】C语言源代码显示:通用转换函数实现原理[2] ] Modbus-RTU-crc16验证方法C语言实现[3] C语言编程建议与技巧,ALS o适合学习单片机[4]单片机的Bootloader,可以实现用户轻松升级程序[5]如何很好地学习单片机?知道方法并有计划快速推进[6]用于微控制器烧录的十六进制文件,文件格式分析免责声明:本文内容经21ic授权后发布,版权归原作者所有,该平台仅提供信息存储服务。本文仅代表作者的个人观点,并不代表该平台的立场。
如有任何疑问,请与我们联系,谢谢!。

相关资料

差分运算放大器,PT100采集和处理电路设计日本首次推出了最强大的国产运载火箭,让我们一起体验吧!您是否知道当前常见的锂离子电池材料回收技术及其发展现状?Fluke 317交直流数字钳形表的功能特性及适用范围什么是DSP芯片?什么是基带芯片?什么是射频芯片?需要低功耗线性稳压器吗?看看这个您真的很了解电机吗?有刷和无刷电机有什么区别?同时从BATJMD获得要约有什么经验?解决恒定电流输出功率过大的传导和辐射的情况中芯国际发布20Q4财务报告,多项财务指标创全年新高您是否知道电池中必需的锂电池电解质溶剂的发展趋势?Mouser和Molex共同启动了一个专门的医疗解决方案网站什么是虚拟化?您知道手机中白色LED驱动电路的特征是什么吗?苹果厨师:隐私是本世纪最重要的问题之一。必须具备道德AI您是否知道哪些因素会影响UPS电池的使用寿命和质量?对数字万用表感兴趣吗?您不妨看看编辑器选择的图形选择万用表。Microchip为高温汽车应用提供准确且节能的电流监控解决方案特斯拉释放了方向盘,这似乎正在引导驾驶员越来越少地使用方向盘在困难时期,华为仍然坚持分红!