當前位置:編程學習大全網 - 編程語言 - C語言怎樣產生壹定範圍的隨機數?

C語言怎樣產生壹定範圍的隨機數?

編譯環境為:vs2013

產生1到3的整型隨機數的代碼如下:

#include<stdio.h>

#include<time.h>

#include<stdlib.h>

#define max 3 ? //這個函數的意義為:隨機生成最大的數為3

#define min 1 ? //這個函數的意義為:隨機生成最小的數為1

int main()

{

int num;

srand(time(0));

num = rand() % (max - min) + min; ?// 這裏的意義,“%”為模運算

printf("隨機數為:%d\n", num);

system("pause"); ?//這個代碼可以讓彈出的黑框不會壹下就消失

return 0;

}

擴展資料:

根據密碼學原理,隨機數的隨機性檢驗可以分為三個標準:?

條件壹、統計學偽隨機性。統計學偽隨機性指的是在給定的隨機比特流樣本中,1的數量大致等於0的數量,同理,“10”“01”“00”“11”四者數量大致相等。類似的標準被稱為統計學隨機性。滿足這類要求的數字在人類“壹眼看上去”是隨機的。

條件二、密碼學安全偽隨機性。其定義為,給定隨機樣本的壹部分和隨機算法,不能有效的演算出隨機樣本的剩余部分。

條件三、真隨機性。其定義為隨機樣本不可重現。實際上只要給定邊界條件,真隨機數並不存在,可是如果產生壹個真隨機數樣本的邊界條件十分復雜且難以捕捉(比如計算機當地的本底輻射波動值),可以認為用這個方法演算出來了真隨機數。

隨機數分為三類:

①偽隨機數:滿足第壹個條件的隨機數。

②密碼學安全的偽隨機數:同時滿足前兩個條件的隨機數。可以通過密碼學安全偽隨機數生成器

計算得出。

③真隨機數:同時滿足三個條件的隨機數。

  • 上一篇:超級機器人大戰J的完美攻略
  • 下一篇:QQ音樂 更新不了怎麽辦 打都打不開
  • copyright 2024編程學習大全網