|script| 请教 BASH 中 PRNG 生成的问题

8 views
Skip to first unread message

Vayn

unread,
Apr 7, 2011, 10:09:04 PM4/7/11
to bin...@googlegroups.com
这两天在看 高级Bash脚本编程指南 ,在讲 $RANDOM 这章的时候书里提了几个问题。

第一个是
let "number = $RANDOM + $FLOOR"

这样生成一个大于 $FLOOR 的随机数,不需要while循环, 并且能够运行的更快, 但是有个问题。

作者并没有给出答案,我想除了 $FLOOR 过大的时候产生溢出外,还有什么问题?比如不那么随机了?

第二个是

SPOTS=6 # 模6给出的范围是0 - 5.
   # 加1会得到期望的范围1 - 6.
# 是否让SPOTS=7会比加1更好呢? 解释行或者不行的原因?

我觉得可以让 SPOT=7, 各位怎么认为呢?


--
Don't panic.

LLY

unread,
Apr 7, 2011, 11:18:08 PM4/7/11
to bin...@googlegroups.com
第一个问题,就是溢出没错。
第二个,=7的话,产生的随机数是 0-6,这就不是“骰子”的行为了,骰子不可能有0,呵呵,所以是不可以的。

--
您收到此邮件是因为您订阅了 Google 网上论坛的“二进制生存”论坛。
要向此网上论坛发帖,请发送电子邮件至 bin...@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 binsos+un...@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/binsos?hl=zh-CN 访问此网上论坛。

Vayn

unread,
Apr 8, 2011, 1:46:43 AM4/8/11
to bin...@googlegroups.com
谢谢回答。

不过对于第二个问题,只要抛弃 0 不就可以了么?

2011/4/8 LLY <bone...@gmail.com>



--
Don't panic.

lilydjwg

unread,
Apr 8, 2011, 2:58:35 AM4/8/11
to bin...@googlegroups.com
On Fri, Apr 08, 2011 at 01:46:43PM +0800, Vayn wrote:
> 谢谢回答。
>
> 不过对于第二个问题,只要抛弃 0 不就可以了么?
>
那样概率就不同了啊
--
Best regards,
lilydjwg

Linux Vim Python 我的博客
http://bit.ly/lilydjwg or http://goo.gl/y4Gsy

Vayn

unread,
Apr 8, 2011, 4:59:41 AM4/8/11
to bin...@googlegroups.com
嗯对,我把概率问题忘了。

2011/4/8 lilydjwg <lily...@gmail.com>
--
您收到此邮件是因为您订阅了 Google 网上论坛的“二进制生存”论坛。
要向此网上论坛发帖,请发送电子邮件至 bin...@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 binsos+un...@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/binsos?hl=zh-CN 访问此网上论坛。




--
Don't panic.
Reply all
Reply to author
Forward
0 new messages