2012-09-08 122 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