![]() |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
![]() |
Студент*21в. |
![]() ![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 37 Пол: Мужской Реальное имя: Александр Репутация: ![]() ![]() ![]() |
Добрый 21 век!
![]()
В общем эта программа имеет недостаток в том, что не все числа могут выпасть разными. Но не это мне важно! Мне важно узнать о функции "random". Мне не понятно почему "+1"? Для чего "+1"? P.S. Программа из университетского учебника. |
![]() ![]() |
Lapp |
![]()
Сообщение
#2
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Мне тоже очень нравится пример из DRKB, который Sheka привел, очень элегантно. Уже который раз его вижу, и всякий раз восторгаюсь )). Я обычно не вспоминаю его в нужный момент и делаю, как в примере volvo. Но вот сейчас вставил счетчик внутрь repeat, и вышло, что полное количество повторений колеблется примерно от одной тысячи до двух (при диапазоне 256). Конечно, это не значит, что метод DRKB в 6 раз эффективнее (1500/250), ибо в нем используются сдвиги, которые, конечно, значительно медленнее, чем операции с множествами, но все равно здорово )). Особенно, если учесть, что вся процедура производится в начале, а потом лишь чтение значений. Тут тоже есть капля дегтя: памяти идет больше (на данные - в 8 раз)..
Оба метода применимы только для чисел, не превосходящих 255 (и DRKB начинается с 1). Для расширения метода DRKB на больший диапазон нужно реализовать вставление элементов в массив (что несложно), а второй метод потребует практически полной реализации множеств (что, на мой взгляд, сложнее). И еще - на большем диапазоне эффективность второго метода еще упадет (количество повторений увеличится непропорционально). Интересно было бы сравнить, однако.. ![]() -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 10:55 |