java模擬題第十題 數字黑洞

2021-08-26 15:39:19 字數 1842 閱讀 3806

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

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

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

[82962, 75933, 63954, 61974]

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

(**其實並不算長,只是注釋寫多了。如果有更好的方法,望賜教。)

[/size]

/*** @category 數字黑洞

* @author liucanwen

* @time 2012-1-17 20:30

*/public class numberblackhole

//呼叫方法getcycle()來得到數字序列list

arraylist list2 = nbh.getcycle(i, 0);

//標誌索引:數字黑洞的開始索引。

int deleteindex = 0;

//遍歷得到的list2(數字序列)

for(int j = 0; j < list2.size(); j++)

}//刪除數字黑洞開始索引之前的數字

for(int k = 0; k < deleteindex; k++)

//刪除數字黑洞之後的數字,只保留數字黑洞一次迴圈體

for(int m = 0; m < 10 - deleteindex - 4; m++)

//列印數字黑洞的一次迴圈體

system.out.println(list2);}}

/*** @param number 傳過來的5位數

* @param index 是該方法在遞迴的時候做標識退出

* @return arraylist 裝有數字黑洞的數字序列

*/@suppresswarnings("unchecked")

public arraylist getcycle(int number, int index)

//當最大值-最小值得到的結果為四位數

else if(4 == chars.length)

//當最大值-最小值得到的結果為三位數

else if(3 == chars.length)

//當最大值-最小值得到的結果為二位數

else if(2 == chars.length)

//當最大值-最小值得到的結果為一位數

else if(1 == chars.length)

else

//把傳過來的五位數排成最大值和最小值

int minvalue = first*10000 + second*1000 + three*100 + four*10 + five;

int maxvalue = first + second*10 + three*100 + four*1000 + five*10000;

//得到最大值-最小值的差count

int count = maxvalue - minvalue;

//把上面得到的差count放到list當中

list.add((integer)count);

//進行遞迴,遞迴結束條件由index來控制

getcycle(count, index + 1);

return list;}}

23號第十題

小兔的叔叔從外面旅遊回來給她帶來了乙個禮物,小兔高興地跑回自己的房間,拆開一看是乙個棋盤,小兔有所失望。不過沒過幾天發現了棋盤的好玩之處。從起點 0,0 走到終點 n,n 的最短路徑數是c 2n,n 現在小兔又想如果不穿越對角線 但可接觸對角線上的格點 這樣的路徑數有多少?小兔想了很長時間都沒想出來...

尤拉計畫 第十題

the sum of the primes below 10 is 2 3 5 7 17.find the sum of all the primes below two million.低於10的素數之和為2 3 5 7 17。找出200萬以下所有素數的總和。思路這道題與第7題的線性篩思路一樣,只...

第十題 爬樓梯

假設你正在爬樓梯。需要 n 階你才能到達樓頂。每次你可以爬 1 或 2 個台階。你有多少種不同的方法可以爬到樓頂呢?注意 給定 n 是乙個正整數。示例 1 輸入 2 輸出 2 解釋 有兩種方法可以爬到樓頂。1 階 1 階 2 階示例 2 輸入 3 輸出 3 解釋 有三種方法可以爬到樓頂。3.1 階 ...