#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)))))