3.8黑洞数。

1.问题描述
编程求三位数中的“黑洞数”。黑洞数又称陷阱数,任何一个数字不全相同的整数,经有限次“重排求差”操作,总会得到某一个或一些数,这些数即为黑洞数。“重排求差”操作是将组成一个数的各位数字重排得到的最大数减去最小数,例如207,“重排求差”操作序列是702-027=675,963-369=594,954-459-495,再下去就不变了,再用208算一次,也停止到495,所以495是三位黑
洞数。

2.代码

#include<stdio.h>
int main(){
int N;
scanf("%d",&N);
int n=N;
for(int i=1;;i++){
int m[3]={0};
for(int i=0;i<3;i++){
m[i]=n%10;
n/=10;
}
int a=m[0],b=m[1],c=m[2];
if(a==b&&b==c)
return 0;
//a、b、c比较大小
if(a>b){
int t=a;
a=b;
b=t;
}
if(a>c){
int t=c;
c=a;
a=t;
}
if(b>c){
int t=b;
b=c;
c=t;
}
int min=a*100+b*10+c;
int max=c*100+b*10+a;
int hole=max-min;
printf("%d: %d - %d = %d\n",i,max,min,hole);
n=hole;
if(hole==495)
break;
}
return 0;
}

posted @   kuku睡  阅读(101)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示