黑洞数
来源:互联网 发布:魔术手机拍照软件 编辑:程序博客网 时间:2024/04/28 18:11
黑洞数:
是指于四位数中,只要数字不完全相同,将数字由大到小的排列减去由小到大的排列。假设一开始选定的数字为,=f(),=f(),...,=f() 用同样的规则继续算下去,最后的结果一定是6174。 比如说一开始选定9891,则f(9891)=9981-1899=8082,f(8820)=8820-0288=8532,f(8532)=8532-2358=6174,f(7641)=7641-1467=6174~其他的四位数经过这样一系列的运算后,在七步之内都会对应到6174。这种现象类似黑洞(进去后就出不来了),故称为黑洞数。
其它位数的状
其实并非只有四位数有这样的状况,三位数也有一数495,任何三位数经过这样的运算都会对应到495。其它位数就没有像三位数及四位数这样单纯的状况,会对应到不只一种结果,或是进入数字循环(即数个数循环对应)。
5位数的状况:没有黑洞,有3个循环
- 7197383952749436296471973
- 8296275933639546197482962
- 539555999453955
6位数的状况:有2个黑洞631764、549945,还有1个7个成员的循环
- 420876851742750843840852860832862632642654420876
7位数的状况:没有黑洞,只有1个8成员的循环
- 750984395296418719722864943275197438429652761973384395227509843
- 8位数的状况:有2个黑洞63317664、97508421
9位数的状况:有2个黑洞554999445、864197532
10位数的状况:有3个黑洞6333176664、9753086421、9975084201
6174问题时间限制:1000 ms | 内存限制:65535 KB
难度:2
- 描述
假设你有一个各位数字互不相同的四位数,把所有的数字从大到小排序后得到a,从小到大后得到b,然后用a-b替换原来这个数,并且继续操作。例如,从1234出发,依次可以得到4321-1234=3087、8730-378=8352、8532-2358=6174,又回到了它自己!现在要你写一个程序来判断一个四位数经过多少次这样的操作能出现循环,并且求出操作的次数
比如输入1234执行顺序是1234->3087->8352->6174->6174,输出是4
- 输入
- 第一行输入n,代表有n组测试数据。
接下来n行每行都写一个各位数字互不相同的四位数 - 输出
- 经过多少次上面描述的操作才能出现循环
- 样例输入
11234
- 样例输出
4
#include<stdio.h>int main(){int n;int a[4], c1, c2,c3;int tmp;int i, j;int count;scanf("%d",&n);while(n--){count = 0;scanf("%1d%1d%1d%1d",&a[0],&a[1],&a[2],&a[3]);while(c3 ){//printf("%d%d%d%d\n",a[0],a[1],a[2],a[3]);count++;for(i = 0; i < 3; i++) for(j = i + 1; j < 4 ; j++){if(a[i] < a[j]){tmp = a[i];a[i] = a[j];a[j] = tmp;}}c1 = a[0] * 1000 + a[1] * 100 + a[2] * 10 + a[3];c2 = a[3] * 1000 + a[2] * 100 + a[1] * 10 + a[0];c3 = c1 - c2;if(c3 == 6174){printf("%d\n",count + 1);break;}a[0] = c3 / 1000;a[1] = c3 % 1000 / 100;a[2] = c3 % 100 /10;a[3] = c3 % 10;}}return 0;}
- 黑洞数
- 黑洞数
- 黑洞数
- 黑洞数
- 黑洞数算法
- 5位黑洞数
- 黑洞数问题
- 蓝桥杯---黑洞数
- 求解黑洞数
- 5位黑洞数
- 【蓝桥杯练习题】黑洞数
- 趣味整数-黑洞数
- 蓝桥杯 黑洞数
- 算法练习-黑洞数
- 黑洞数(软件大赛)
- 蓝桥杯 黑洞数 解题报告
- 蓝桥杯 5位黑洞数
- 蓝桥杯基础 数论 黑洞数
- POJ 1000 A+B Problem
- 关于htons和ntohs(网络顺序和主机顺序)
- 程序员统计知识-看懂数据
- linux 安装jdk
- AWT和Swing之间的基本区别
- 黑洞数
- Red Hat Linux卸载旧版本的JDK安装新版本的JDK并附yum安装
- Featured Domains
- android基础-->android基本组件
- 使用highcharts实现实时监控曲线图
- 【fragmentation】ORACLE中碎片小结
- TopCoder SRM 597 Div1 第3题
- Moogoose实践之:Schema写全很重要,不然会把时间浪费在调错上!
- 匿名内部类基础