PASCAL语言中的RANDOM(N)随机函数为什么有规律可寻啊??

FREEPASCAL中的RANDOM(N)随机函数为什么有规律可寻啊??比如RANDOM(3)固定为11221212111111020201122111122010101... FREE PASCAL中的RANDOM(N)随机函数为什么有规律可寻啊??
比如RANDOM(3)固定为1 1 2 2 1 2 1 2 1 1 1 1 1 1 0 2 0 2 0 1 1 2 2 1 1 1 1 2 2 0 1 0 1 0 1 2 2 2 0。。
同时多个随机函数每次运行也竟然都一样????!!!!固定顺序。。。。我编了个简单的3局2胜的剪刀石头布,结果没什么意思了。。都知道是什么了。。。。
展开
 我来答
百度网友fa0ff2c
2007-10-01 · TA获得超过1.2万个赞
知道大有可为答主
回答量:8033
采纳率:33%
帮助的人:4073万
展开全部
在使用Random之前需要使用Randomize语句进行随机数种子的初始化。

每一次random,其实是对上次随机函数产生的结果建立一个函数算出来的,所以称为伪随机,就是说如果上一个数是固定的,那么下一个数就确定了。
random其实是一个f(x)的函数,然后不停地迭代,就是说如果第一个随机数是f(x),那么第三次产生的就是f(f(f(x))),而首个f(x)中的x就是随机数种子,一般由randomize函数执行的时刻决定。

fp中的random函数中使用的具体f(x),详见fp的帮助,里面写着的。
honggaixin
2007-10-03 · TA获得超过1.4万个赞
知道大有可为答主
回答量:1088
采纳率:100%
帮助的人:1386万
展开全部
在使用Random之前需要使用Randomize语句进行随机数种子的初始化。

每一次random,其实是对上次随机函数产生的结果建立一个函数算出来的,所以称为伪随机,就是说如果上一个数是固定的,那么下一个数就确定了。
random其实是一个f(x)的函数,然后不停地迭代,就是说如果第一个随机数是f(x),那么第三次产生的就是f(f(f(x))),而首个f(x)中的x就是随机数种子,一般由randomize函数执行的时刻决定。

fp中的random函数中使用的具体f(x),详见fp的帮助,里面写着的。RandomIze是random的初始化
初始化是通过系统时间实现的,所以在同一时刻运行
randomize;write(random);randomize;write(random);
两个数字结果一样,
另外,每一个random都是由上一次的值微积分爹带得到的(并不怎么快)。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xttts
2007-10-02 · TA获得超过2754个赞
知道小有建树答主
回答量:1295
采纳率:0%
帮助的人:1592万
展开全部
RandomIze是random的初始化
初始化是通过系统时间实现的,所以在同一时刻运行
randomize;write(random);randomize;write(random);
两个数字结果一样,
另外,每一个random都是由上一次的值微积分爹带得到的(并不怎么快)。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jiangnan0123
2007-10-01 · TA获得超过167个赞
知道答主
回答量:68
采纳率:0%
帮助的人:0
展开全部
在用Random前加一个Ranomize,整个程序只要一个就够了

Random是伪随机数
Randomize 提供一个不同的种子

参考
http://zhidao.baidu.com/question/20135786.htm

http://zhidao.baidu.com/question/17064423.html
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
杨恬维花录沿识7283
2007-10-14 · TA获得超过260个赞
知道答主
回答量:82
采纳率:0%
帮助的人:0
展开全部
你好想开函数时开错了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式