2013-11-24 221 views
2

我有这样的功能:选择随机数

:- use_module(library(random)). 

choose(A, C, B) :- B is random(A), (B\=2, choose(A,C,B));(B == 2, !). 

我怎样才能让这个函数产生从0号码A,不同于C和保存结果B中 ?

谢谢。

+0

'选择(A,C,B): - B是随机的(A),B \ = C.' – CapelliC

+0

当我选择(5,3,R)。当随机给出3时,它返回假而不是生成其他数字,直到它不同于C. –

回答

1

应该是

choose(A, C, B) :- repeat, B is random(A), B \= C, !.