2012-09-08 45 views
0

在方案中,我必须使用random来定义一个过程,该过程不接受参数并返回范围为1到10的整数,并且我不能使用if。 IM丢失=(Scheme:创建一个随机范围

+0

您的计划是否提供“随机”功能? – krzysz00

+0

是的,我的方案提供了一个随机函数 –

+0

也:我不能使用,如果 –

回答

4

如果你的计划提供了一个random功能,你想要么

(define (1-10-rand) 
    (+ 1 (random 10))) 

(define (1-10-rand) 
    (floor (* 10 (random)))) 

取决于你是否有(random n) --> integer in [0, n-1])(random) -> float in [0,1]

被告知,这不符合标准。对于绝对可移植性,请写入y我们自己的RNG。

+0

非常感谢你! –

+0

我试过了,我得到一个语法错误。如果我必须定义过程throw-die并且它随机返回一个整数1到6,lambda是什么?我可以使用(+ 1(随机10))为身体? –

+0

给''扔死你'(定义(掷死)(+ 1(随机6)))' – krzysz00