2013-11-24 8 views
2

У меня есть эта функция:Выберите случайные числа

:- use_module(library(random)). 

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

Как я могу сделать эту функцию генерации чисел от 0 до А, отличной от C и сохранить результат в B?

Спасибо.

+0

'выбрать (А, С, В): ​​- B является случайным (А), В \ = C.' – CapelliC

+0

Когда я выбирать (5,3, R). когда random дает 3, он возвращает false вместо генерации другого номера, пока он не будет отличаться от C. –

ответ

1

должно быть

choose(A, C, B) :- repeat, B is random(A), B \= C, !. 
Смежные вопросы