兔区14区是什么:如何才能绝对随机

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/01 07:15:30
在用ASP编程取随机数时,要想取从 0到9中的一个数,而每个数的取到概率都是绝对的 十分之一 ,请问怎么做?

不能绝对随机,所谓的随机函数都是看起来象随机罢了。

我一般的做法是拿出一个字节来,给他一个种子,如"11010100",给最后一位加1,带进位的,然后向左循环1位,注意左边溢出的那一位给最右边一位.取出这个值.
重复取值.你会得到一串随机数.

绝对的10分之一那怎么能叫绝对随机?

用随机涵数:randomize或者rnd
例如{vb程序}由计算机产生一个[1,10]内的随机整数,猜测它的奇偶性(输入0表示偶数,1表示奇数),猜对了就显示"猜对了",否则显示"猜错了"
dim x as integer, y as integer
x=int(rnd*9+1)
y=inputbox("请输入0或1,0为偶数,1为奇数","猜奇偶数",0)
if x mod 2=y then
print"原数是:""x";"您猜对了"
else
print"原数是""x";"您猜错了"
end if

绝对随机数用计算机是不可能实现的,从随机数的代码就可以知道
关键在于初始化随机数函数的值,一般采用当前时间

下面这种方法可以保证绝对的1 / 10 ,
但不是真正的随机数:
1〉产生 0-9 10个数,放入容器中;
2〉每次随机取走一个数;
3〉如果取完了,重复步骤1

//---------------------------------------------
其实一般情况你这样用就行了
srand();
int iResult = rand() % 10;
“绝对的1 / 10” 和 “随机数” 这个概念矛盾不?