0

在方案中,我必须使用 random 来定义一个不接受任何参数并返回 1 到 10 范围内的整数的过程,包括 1 到 10,我不能使用 if。我迷路了=(

4

1 回答 1

4

如果你的 Scheme 提供了一个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]

请注意,这不符合标准。为了绝对的可移植性,请编写自己的 RNG。

于 2012-09-08T23:06:11.413 回答