我给出了一个介于0和1之间的实数。这是我的优良因素。这个因素是一种概率。我的意思是,如果它是0.2,那么意味着将有1/5的概率发生。随机程序需要计划中的确切整数
我试图用
random
程序这一点。这是我的代码片:
(if (eq? 'c (tit-for-tat my-history other-history))
'c
(if (= (random (/ 1 niceness-factor)) 0) 'c 'd))
但是,“随机”过程要我给出一个确切的整数。我怎么解决这个问题?有没有类似于随机的程序?
在此先感谢...
我会质疑需要将漂亮因子转换为“像整数”。你可以简单地做'(>(随机)漂亮因素)''。 – 2013-05-04 19:43:35
我熟悉的Scheme随机函数返回0和'limit'之间的整数。同意,有些人可能会返回0到1之间的实数。“随机”不是任何RnRS的一部分。 – GoZoner 2013-05-04 19:46:56
OP用球拍标记。球拍语言定义了'(随机限制)'返回一个整数0..limit。和'(随机)'返回0到1之间的不准确数字。查看我的答案以获取参考链接。 (IMO的问题不应该有球拍标签和方案标签,除非使用R6RS或R5RS语言。球拍语言从方案演变而来,但不是方案)。 – 2013-05-07 00:47:08