編譯環境為: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”四者數量大致相等。類似的標準被稱為統計學隨機性。滿足這類要求的數字在人類“壹眼看上去”是隨機的。
條件二、密碼學安全偽隨機性。其定義為,給定隨機樣本的壹部分和隨機算法,不能有效的演算出隨機樣本的剩余部分。
條件三、真隨機性。其定義為隨機樣本不可重現。實際上只要給定邊界條件,真隨機數並不存在,可是如果產生壹個真隨機數樣本的邊界條件十分復雜且難以捕捉(比如計算機當地的本底輻射波動值),可以認為用這個方法演算出來了真隨機數。
隨機數分為三類:
①偽隨機數:滿足第壹個條件的隨機數。
②密碼學安全的偽隨機數:同時滿足前兩個條件的隨機數。可以通過密碼學安全偽隨機數生成器
計算得出。
③真隨機數:同時滿足三個條件的隨機數。