[Java]如何可以分辨到兩個相同公倍數的數字的真正倍數?
本帖最後由 3ldk 於 2017-11-15 05:15 編輯
其實我都唔知自己想問乜
用以下例子解釋, 為簡單起見, 暫時唔用0 base, 用住1 base先
Case 1:
有一條4個位的組合 -> a b c c
一直延伸至無限長 -> a b c c a b c c a b c c a b c c a b c c a b c c a b c c a b c c a b c c a b c c a b c c a b c c a b c c
Case 2:
有一條5個位的組合 -> a b c c d
一直延伸至無限長 -> a b c c d a b c c d a b c c d a b c c d a b c c d a b c c d a b c c d a b c c d a b c c d a b c c d a b c c d a b c c d a b c c d
就用Case1黎講
當我假設有一條無限長的組合之後, 隨機抽一個數字, 然後搵返依條組合該位置的字母
例如隨機數係1的話, output就係a
隨機數係2的話, output就係b
隨機數係3的話, output就係c
隨機數係4的話, output就係c
隨機數係6的話, output就係b
隨機數係8的話, output就係c
我最初諗, 如果要搵該隨機數字係組合中的第幾個, 就逐個位mod佢睇下係咪0
但發現其實唔得, 因為會有相同的公倍數
例如:int rand=6
int m=rand % 2
m == 0 <---依個係true, 所以output係b
然後:int rand=8
int m=rand % 2
m == 0 <---依個又係true, 所以output係b, 但正確output應該係8先岩
咁依個問題應該點解決呢? 同埋依個問題有無正式名稱? |
|
|