Генерация случайных чисел в определенном диапазоне для common lisp

#random #common-lisp

#Случайный #common-lisp

Вопрос:

Я делаю кое-какую домашнюю работу, и для одной части мне нужно сгенерировать случайные числа в диапазоне от 10 до 80. Я знаю, что (random 80) вернет число меньше 80, но как мне заставить его также получать числа выше 10?

Ответ №1:

Подсказка: ( 1 (случайные 80)) даст вам число от 1 до 80 включительно.

Комментарии:

1. Спасибо за помощь, но когда я пытаюсь ( 10 (случайные 80)) Я получу значения выше 80

2. @Thomas: Итак, у вас есть случайное число от 0 до 69 включительно. Как вы превращаете это в случайное число от 10 до 80 включительно? Путем добавления…

3. @Thomas: Я пытался дать подсказку и позволить вам разобраться в деталях самостоятельно 🙂

4. Следующая подсказка: ( 10 (случайные 10)) вернет вам значения от 10 до 19 🙂

Ответ №2:

Этот код выдаст вам случайные числа от 10 до 80:

 (  10 (random 71))
  

еще лучше, попробуйте эту общую формулу:

 (defun random-from-range (start end)
  (  start (random (  1 (- end start)))))