黑洞數(shù)

黑洞數(shù)也稱為陷阱數(shù),又稱“Kaprekar問題”,是一類具有奇特轉(zhuǎn)換特性的數(shù)。

任何一個數(shù)字不全相同的三位數(shù),經(jīng)有限次“重排求差”操作,總會得到495。最后所得的495即為三位黑洞數(shù)。所謂“重排求差”操作即組成該數(shù)的數(shù)字重排后的最大數(shù)減去重排后的最小數(shù)。(6174為四位黑洞數(shù))

例如,對三位數(shù)207:

第1次重排求差得:720-027=693;

第2次重排求差得:963-369=594;

第3次重排求差得:954-459=495;

以后會停留在495這一黑洞數(shù)。如果三位數(shù)的3個數(shù)字全相同,一次轉(zhuǎn)換后即為0。

任意輸入一個三位數(shù),編程給出重排求差的過程。

輸入輸出示例:括號內(nèi)是說明

輸入

123

輸出

1: 321 - 123 = 198

2: 981 - 189 = 792

3: 972 - 279 = 693

4: 963 - 369 = 594

5: 954 - 459 = 495


#include<stdio.h>

int main(void)

{

int number,x,y,a,b,c,t,i,max,min,mid;

? ? scanf("%d",&number);i=1;

while(number!=495)

{

a=number/100;

b=number%100/10;

c=number%10;

mid=a+b+c;

max=a>b?a:b; max=max>c?max:c;

min=a>b?b:a; min=min>c?c:min;

mid=mid-min-max;

x=max*100+mid*10+min;

y=min*100+mid*10+max;

/*---------*/

number=x-y;

printf("%d: %d - %d = %d\n",i,x,y,number);

i++;

}

return 0;

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容