看板 Programming 關於我們 聯絡資訊
※ 引述《qeagle (神啊請讓我失戀吧)》之銘言: : 請問這題要怎麼著手 : 我想產生一些亂數序列以供測試排序功能用 : 產生亂數簡單,但要保持其亂數產生順序,又不能有重覆.. : 不知道大家會怎麼寫好,先產生1000個,再一個個檢查有無重覆嗎... 把0~999999拆成x * 1000 + y, 0 <= x <= 999, 0 <= y <= 999 int x[1000]; int y[1000]; void Seed() { // 1. 初始化x,y成0~999 // 2. 把x,y用shuffle打亂 } int Random(int i) { return x[i % 1000] * 1000 + y[i % 1000]; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.204.92.148
snowlike:不錯,節約空間不過不太亂;還要取一次R? 114.33.184.50 06/13 00:16
LPH66:x[i/1000]*1000+y[i%1000] 但的確不太亂 140.112.28.92 06/13 00:31
kevingwn:哎呀,本來就沒有"真的"RNG啦XD 123.204.92.148 06/13 00:42
kevingwn:to LPH66,題目只要前1000個喔 123.204.92.148 06/13 00:49