6174數學黑洞的matlab模擬

2021-09-02 02:44:13 字數 1024 閱讀 8140

對於數學黑洞,無論怎樣設值,在規定的處理法則下,最終都將得到固定的乙個值,再也跳不出去了,就像宇宙中的黑洞可以將任何物質,以及執行速度最快的光牢牢吸住,不使它們逃脫一樣。

演算法過程如下:

取任意乙個4位數(4個數字均為同乙個數的除外),將該數的4個數字重新組合,形成可能的最大數和可能的最小數,再將兩者之間的差求出來;對此差值重複同樣過程,最後你總是至達卡普雷卡爾黑洞6174,到達這個黑洞最多需要14個步驟。使用matlab驗證**如下:

n = input('輸入乙個四位正整數:n =') ;

flag = [0,1] ;%falg(0)計算第i次的n的值,flag(1)記錄第i+1次的n的值

while((flag(1) - flag(2)) ~= 0)%當計算的前後兩次的結果相同時便終止

flag(1) = n ;

strva = num2str(n) ;

n = length(strva) ;

num = ;

for i = 1:1:n

num = [num,str2num(strva(i))] ;

end%從小到大排序

for i =1:1:n - 1

for j = 1:1:n-i

if (num(j) > num(j+1))

tmp = num(j) ;

num(j) = num(j+1) ;

num(j+1) = tmp ;

endend

end%計算最大值與最小值

max = num(n) ;

min = num(1) ;

for i =1:1:n

if(i < n)

max = max * 10 + num(n - i) ;

endif(i > 1)

min = min * 10 + num(i) ;

endend

n = max -min ;%計算最大值與最小值之差

flag(2) = n ;

endn

入門 數學黑洞6174

題目描述 description 已知 乙個任意的四位正整數。將數字重新組合成乙個最大的數和最小的數相減,重複這個過程,最多七步,必得6174。即 7641 1467 6174。將永遠出不來。求證 所有四位數數字 全相同的除外 均能得到6174。輸出掉進黑洞的步數。輸入 乙個四位數,且各位數字不全相...

2004 數學黑洞數6174

time limit 3 second memory limit 2 mb 已知乙個任意的不完全重複的四位正整數,將其數字重新組合成乙個最大的數和乙個最小的數並使之相減,這稱為 重排求差 其結果不足四位時,右邊補0,組成大的四位數 左邊補0,組成小的四位數。重複這個過程,最多七步,必能得到6174。...

B1019 數字黑洞6174

題目描述 給定任乙個各位數字不完全相同的 4 位正整數,如果我們先把 4 個數字按非遞增排序,再按非遞減排序,然後用第 1 個數字減第 2 個數字,將得到乙個新的數字。一直重複這樣做,我們很快會停在有 數字黑洞 之稱的 6174,這個神奇的數字也叫 kaprekar 常數。例如,我們從6767開始,...