現在在中興大學資工系修資訊第二專長,這學期資料結構的課程有個作業是要產生 5~10 個亂數來畫一個霍夫曼樹 (嗯,霍夫曼樹是什麼還是上網查才知道的,反正不是今天的重點),不過作業有個附加條件,就是這 5~10 個亂數的總和要為 100。
我還在頭痛這種亂數要怎麼得到咧?幾個同修第二專長的數學老師提出不同的方法來取總和 100 的亂數了。這還滿有趣的,光是取亂數就有這麼多種解法。
我怕以後忘了,所以把這些數學老師提出的方法記錄下來,也許以後用得到。為了方便說明,底下都以『取 5 個亂數,總和為 100』為例,比較統一,比較好說明。
水桶法
陳志峰老師提出一個方法,我把它稱為水桶法。先準備 5 個水桶,準備來取亂數。
圖、準備 5 個水桶
丟 5 面的骰子 10 次 (其實就是產生 1~5 的亂數,連續做 10 次)。
圖、丟 5 面的骰子 10 次
骰子丟出 1,就在 1 號水桶上畫一筆做記號,丟出 2,就在 2 號水桶上畫一筆做記號,依此類推。
圖、將骰子出現的點數分類計次