функция RAND( ) | |
---|---|
alexzima Автор Сообщений: 147 Дата регистрации: 10.07.2006 |
Доброго времени суток! Есть функция Rand() Мне нужно получить последовательность из 5 случайных чисел от 1 до 100, но с повторами: Т. е. к примеру получить 5 чисел вида 12,34,45,79,34 или 1,4,4,78,99 и т. д. |
Re: функция RAND( ) | |
---|---|
akvvohinc Сообщений: 4219 Откуда: Москва Дата регистрации: 11.11.2008 |
Если я правильно понял задание, то:
1) Сначала датчик отрабатывает 4 раза, определяя сами числа в диапазоне от 1 до 100. 2) Затем он отрабатывает 1 раз, определяя число в диапазоне от 1 до 4, которое будет показывать порядковый номер одного из 4 чисел, которое надо задвоить. 3) И наконец, последний запуск функции возвратит число в диапазоне от 1 до 5, определяющее, каким это задвоенное число будет по-порядку в последовательности чисел. Исправлено 1 раз(а). Последнее : akvvohinc, 04.02.21 21:48 |
Re: функция RAND( ) | |
---|---|
of63 Сообщений: 25254 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Сгенерируй 5 случайных чисел, потом замени одно случайное (выбранное из 5ки) значение на уже имеющееся в 5ке.
Если надо повторов более одного, то несколько раз это проделать... |
Re: функция RAND( ) | |
---|---|
Crispy Сообщений: 18571 Дата регистрации: 16.05.2005 |
Кстати, если повторы нужны всегда, можно вообще генерировать только по 4 случайных числа. А потом случайно выбирать любое из четверки для дублирования и превращения набора в пятерку. ------------------ В действительности все иначе, чем на самом деле. (Антуан де Сент-Экзюпери) |
Re: функция RAND( ) | |
---|---|
of63 Сообщений: 25254 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Угу. Можно число повторов тоже генерировать случайно
|
Re: функция RAND( ) | |
---|---|
sphinx Сообщений: 31180 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Я так и делал. ------------------ "Veni, vidi, vici!"(с) |
Re: функция RAND( ) | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
При получении псевдослучайного числа от 1 до 100 при помощи RAND повторы могут быть и сами по себе, безо всяких дополнительных действий.
------------------ WBR, Igor |
Re: функция RAND( ) | |
---|---|
akvvohinc Сообщений: 4219 Откуда: Москва Дата регистрации: 11.11.2008 |
Значит, на первом шаге делаем бесконечный цикл, пока не получим 5 разных чисел.
|
Re: функция RAND( ) | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Не ясна цель вопрошающего, потому дать точный ответ невозможно. Если это нужно для какого-то рода тестов, то вполне сгодится и просто заранее созданный набор, или группа наборов из которой будет случайно выбран один. Для баловства - да, можно взять 4 rand чисел и 1 для размещения дубля (при том если для дубля всегда брать 1-й элемент, то наверняка исказится "случайность" наборов - но для несерьёзных целей можно и забить на это).
А если это что-то серьёзное, типа лотереи, то там уж как минимум стоит не RAND использовать а более серьёзный генератор - хотя бы АПИ-шный криптографический. Хотя я сомневаюсь что там стояла бы задача "обязательно 2 одинаковых" Скорее уж наоборот - там надо избегать повторений. ------------------ WBR, Igor |
© 2000-2024 Fox Club  |