Re: [問題] 1-42取出6+1個數字
※ 引述《Gsus.bbs@ptt.cc (肉元)》之銘言:
> ※ 引述《infinitlee (Infinity)》之銘言:
> : 你可以用vector 之類的容器,把random 出來的值丟進去,
> : 下次在抓的時候用equals() 方式判斷,如果為true 就再重新抓..
> : 用各do{..}while()迴圈包起來..不重複加1,直到抓滿你要的數量
> : 也許這種方式不是很好.. 但是應該可以幫你解決問題
> 如果用了vector
> 我建議不如當初42個數字就存進vector裡面(O(n))
> 接著就for loop run 7次,
> 每次都random一個index(random的範圍要一次縮小1),
> 依照此index去vector取值
> 取完後便把vector[index]remove掉(這就是為什麼random的範圍會一次少1)
> 如此你怎麼樣也不會取到相同的數字
> 你甚至可以random vector裡面存的1~42的順序
> 不過我覺得應該沒必要
> 最後記得要用garbage collection ^^
我想的是把1~42的數字都放到array裡面
每次取一個數字 取到的數字就跟最後一個數字交換
然後範圍都減少一
直到取到你要的數量為止
--
~*~*~*~*~*~*~*~*~
┌┬┬┐┌┐┌┐┌┐ ┌┬┬┐╭┬┬╮┌┬┬┐┌┐
││││││││││ ││ │├┤│││││││
││││││││││ ││ ││││││││││
└└┘┘╰┴┴╯└┴─┘ └┘ └┘└┘└┘└┘└┘
~*~*~*~*~*~*~*~*~*~*~*~*~*~
--
夫兵者不祥之器物或惡之故有道者不處君子居則貴左用兵則貴右兵者不祥之器非君子
之器不得已而用之恬淡為上勝而不美而美之者是樂殺人夫樂殺人者則不可得志於天下
矣吉事尚左凶事尚右偏將軍居左上將軍居右言以喪禮處之殺人之眾以哀悲泣之戰勝以
喪禮處之道常無名樸雖小天下莫能臣侯王若能守之萬物將自賓天地相合以降甘露民莫
之令而自均始制有名名亦既有夫亦將知止知止可以不 multani.Dorm8.NCTU.edu.tw海
討論串 (同標題文章)
完整討論串 (本文為第 15 之 21 篇):