У меня создалось впечатление, что при запуске схемы была вызвана процедура randomize
с текущим временем в качестве ее семени. Однако, если у меня есть сценарий схемы, состоящий только из (print (random 10))
, единственным выходом, который я получаю, является 7
; нет другого номера. Итак, что я делаю неправильно? Для записи я использую Chicken Scheme.Как правильно рассчитать случайную функцию в схеме?
1
A
ответ
0
Какая случайная библиотека вы используете, точно? в соответствии с documentation вашего предположения о посеве random
корректна:
(randomize [SEED])
: Набор случайных чисел семян. Если SEED (точное целое число) не поставляется, используется текущее время. При запуске (когда инициализируются дополнительные функции), генератор случайных чисел инициализируется текущим временем.
(random N)
: Возвращает псевдослучайное целое число в [0, N-1]. N - целое число.
Также обратите внимание на предупреждения, в частности, второй один, который, кажется, чтобы объяснить поведение вы свидетелями:
Предупреждение: Эта процедура использует рандов (3) внутри и имеет свои недостатки, включая псевдослучайность низкого качества:
- В Windows и Solaris в диапазоне [0, N-1] может быть создано только 32768 уникальных случайных значений. Если N> = 32768, в результирующем наборе будут пробелы.
- В Mac OS X, Windows и некоторых других платформах, небольшое отклонение в выходе видно с соседними семенами. Так как случайный генератор засевается секундами при запуске, новые процессы могут видеть похожие или идентичные случайные последовательности в течение минуты.
- В Linux, rand (3) является псевдонимом случайным (3), который обеспечивает вывод разумного качества.
Смежные вопросы
- 1. Как я могу рассчитать случайную функцию и значение ввода?
- 2. Как реализовать случайную функцию
- 3. Как правильно сгенерировать случайную bytestring в haskell
- 4. Рассчитать размер таблицы в схеме
- 5. Как вызвать функцию в схеме
- 6. Как реализовать смещенную случайную функцию?
- 7. Swift - выберите случайную функцию
- 8. Производите случайную волновую функцию
- 9. Рассчитать случайную дату между 2 датами дат
- 10. Выберите случайную функцию
- 11. Выберите случайную функцию
- 12. Как использовать случайную функцию в j2me
- 13. Как вызвать случайную функцию в lua?
- 14. Как запустить случайную функцию в Python 2
- 15. Как реализовать случайную функцию в прологе?
- 16. Как создать случайную функцию в Microsoft VS
- 17. Как вызвать случайную функцию в PHP
- 18. Как вызвать случайную функцию в Unity3d
- 19. Как передать случайную функцию в качестве аргумента?
- 20. Как создать случайную функцию в python 3?
- 21. Как использовать случайную функцию C++ в Halide?
- 22. Как рассчитать функцию ИМТ?
- 23. Как применить символ как функцию в Схеме?
- 24. Как оценить функцию, задающую значение в схеме
- 25. Как написать следующую функцию в схеме
- 26. Как правильно рассчитать возраст в Swift?
- 27. Как добавить случайную функцию для дизайна фабрики?
- 28. Как создать случайную функцию неравномерного диапазона чисел?
- 29. Как заставить мою случайную функцию работать?
- 30. Как выбрать случайную функцию из предопределенного набора?
Я использую встроенный 'random'. Хотя я нахожусь в Mac OS X, тот же результат появляется даже через несколько минут. –
@xuinkrbin. возможно, встроенный случайный - crappier, чем кажется: P. Попробуйте с более крупным параметром «N» для случайного или используйте [random-mtzig] (http://wiki.call-cc.org/egg/random-mtzig) вместо –