C 隨機生成不重複亂數

2021-10-01 07:39:07 字數 1106 閱讀 8195

標頭檔:

#include

#include

#include

方法一:

陣列依序生成亂數,並且在生成的過程中使用迴圈比對之前是否使用過此數,若有則重新生成比較

int

main()

//若num[j-1]比較到num[i-1]都沒有重複,代表這個亂數是新的可以使用,並且for結束時j=i,因此在下一行判斷跳出do/while迴圈

}while

(j != i)

; std::cout << num[i-1]

<< std::endl;

}return0;

}

方法二:

依照欲生成的亂數範圍,使用陣列建立表單存放使用資訊(範圍=陣列大小),使用空間換取時間

int

main()

;//將陣列所以成員初始為0

for(i =

1; i <=

10; i++

)while

(counter[n-1]

!=0);

//使用n作為索引號,判斷counter[n-1]在陣列中是否為0,不是則繼續做迴圈

std::cout << n << std::endl;

counter[n-1]

++;//使用該亂數之後,將該亂數的位置存放值+1,表示使用過

}return0;

}

方法三:

依照欲生成的亂數範圍,使用陣列建立表單存放使用資訊(範圍=陣列大小),使用空間換取時間

srand

(time

(null))

;int i, n[10]

;for

(i =

1; i <=

10; i++

)for

(i =

1; i <=

10; i++

)return0;

}

隨機生成不重複的資料

1 js生成不重複的隨機數 方法一 傳入乙個最大允許生成的引數。隨機生成十個不重複的資料出來 param是生成的最大數 function getnewrandomstr param if isequ i else num num.length val for var j 0 j num.length...

不重複隨機數生成

直接上 生成 0,total 的隨機數 最大隨機數 ilist private static ilistgetrandomsequence int total random random new random for var i listbase.count 1 i 0 i return listo...

Python random 生成不重複的隨機數

先說結論 random.sample range 10 n random.sample range 0,10 n 以上兩條表示在範圍0 9內不包括10生成n條隨機數 random.randint 0,10 以上表示在範圍0 10內包括10生成1條隨機數 比如 import randomtest ra...