C语言 随机函数

Python024

C语言 随机函数,第1张

i++是i=i+1的缩写,c++之所以后面有++,就是因为有这样的缩写。

rand()是个函数,每次调用会给你返回一个unsigned int数,即无符号整数,具体这个函数可以百度百科rand(),返回的数用伪随机算法,在你看起来是随机变化的,范围在0~4294967295之间

%是c++的整数运算符,如果写a%b就是求a除以b以后的余数

rand()生成的数大于0~100之间的范围,rand()%100就会生成在0~99之间的随机整数

由于题目要求生成1~100之间的整数,所以用表达式rand()%100+1

如果想生成[0~3000)的随机数可以用表达式rand()%3000

如果想生成[a,b]范围的随机数,可以用表达式rand()%(b-a+1)+a来生成

比如要生成10~20之间的随机数,包含10和20在内,那么表达式是rand()%(20-10+1)+10

rand

和random都是伪随机函数,一般直接读取时间来做种子(sand(time))的也是不怎能随机的

我给你一个我以前写的,真正的随机:

int

myrand(void)

{

int

seed

asm

("rdtsc"

:

"=A"

(seed))

srand((unsigned

int)seed)

return

rand()

}