C語言隨機數,亂序問題

2021-06-23 05:05:36 字數 409 閱讀 3813

我在想乙個簡單的亂序怎麼生成,我寫了順序,然後打亂,請教一下大神怎麼打亂才能讓熵大。

原始碼在下:

#include #include #include #define n 10

//隨機數運算要簡單,需要時間短,大神求交換s與n的關係

//得到乙個不重複的隨機序列,上限n-1,下限0

int luan ( int down,int up ,int arr[n] )

{ /*生成順序的數,再進行隨機兩個數交換,需要知道交換次數多少才亂*/

int i;

int s=7;//兩個數交換次數,朋友告訴我10個體是7能達到熵最大

//100次要交換幾次,s和n的關係,請教大神

int *a,*b,t;//為了下面交換

for ( i=down; i

隨機數 C語言

怎樣獲得某一範圍的隨機整數?直接使用這種方法 rand n 試圖返回從0到n 1的整數 不好,因為許多隨機數生成器的低位並不隨機。乙個較好的方法是 int double rand double rand max 1 n 兩種方法都需要知道rand max,而且假設n要遠遠小於rand max。如果n...

C語言隨機數

在c語言函式庫中包含了乙個產生隨機數的函式 int rand void 函式返回的是乙個界於0 32767之間的偽隨機數,包括0和32767。注意,這裡產生的是偽隨機數,不是真正意義上的隨機數,看下面的程式 include stdlib.h include stdio.h void main 執行結...

c語言隨機數

隨機值函式rand 首先需要包含標頭檔案 include 計算機的優點是準確,並不擅長隨機和模擬,所以使用的rand 函式並不是真正意義上的隨機,而是一種偽隨機數使用rand 生成隨機數之前需要用隨機發生器的初始化函式srand unsigned seed 也位於stdlib.h 中 進行隨機數序列...