5位數的數字黑洞是多少 5位黑洞數

2021-10-13 08:10:52 字數 1548 閱讀 3529

任意乙個5位數,比如:34256,把它的各位數字打亂,重新排列,可以得到乙個最大的數:65432,乙個最小的數23456。求這兩個數字的差,得:41976,把這個數字再次重複上述過程(如果不足5位,則前邊補0)。如此往復,數字會落入某個迴圈圈(稱為數字黑洞)。

比如,剛才的數字會落入:[82962, 75933, 63954, 61974] 這個迴圈圈。

請編寫程式,找到5位數所有可能的迴圈圈,並輸出,每個迴圈圈占1行。其中5位數全都相同則迴圈圈為 [0],這個可以不考慮。

迴圈圈的輸出格式仿照:

[82962, 75933, 63954, 61974]

其中數字的先後順序可以不考慮。

**如下:

#include

intn;用於【臨時】儲存輸入的5位數,以及以後計算的最大值和最小值的差值(遞迴演算法)。

intm[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位數的數字黑洞是多少 數字排列之數字黑洞

二年級下 數字排列之數字黑洞 教學目標 1.知識與技能 知道兩位數的差 知道三位數字的數字黑洞是 495.2.過程與方法 通過排列數字的遊戲,了解數字黑洞是什麼。3.情感態度價值觀 體會數字黑洞的趣味,培養學習數學的興趣。教學重點 數字黑洞的演算法。教學難點 數字黑洞的演算法。教學過程 一 有趣的 ...

5位數的數字黑洞是多少 奇妙的數字黑洞 6174

茫茫宇宙之中,存在著一種極其神秘的天體 黑洞 黑洞的密度極大,引力極強,任何物質經過它的附近,都會被它吸進去,再也不能出來,光線也不例外,因此黑洞是乙個不發光的天體。無獨有偶,在數學中也有這種神秘的 黑洞 現象,對於數學黑洞,無論怎樣設值,在規定的處理法則下,最終都將得到固定的乙個值,再也跳不出去,...

5位數的數字黑洞是多少 奇妙的數字黑洞 6174

茫茫宇宙之中,存在著一種極其神秘的天體 黑洞 黑洞的密度極大,引力極強,任何物質經過它的附近,都會被它吸進去,再也不能出來,光線也不例外,因此黑洞是乙個不發光的天體。無獨有偶,在數學中也有這種神秘的 黑洞 現象,對於數學黑洞,無論怎樣設值,在規定的處理法則下,最終都將得到固定的乙個值,再也跳不出去,...