|
Случайные числа в 1с | ☑ | ||
---|---|---|---|---|
0
sqr4
25.03.14
✎
11:34
|
Нужно перебрать все числа в определенном диапазоне случайным образом.
|
|||
1
rbcvg
25.03.14
✎
11:34
|
ок. понятно.
|
|||
2
ДенисЧ
25.03.14
✎
11:35
|
Перебирай, кто ж тебе мешает?
|
|||
3
VikingKosmo
25.03.14
✎
11:35
|
ГенераторСлучайныхЧисел (RandomNumberGenerator)
ГенераторСлучайныхЧисел (RandomNumberGenerator) Методы: СлучайноеЧисло (RandomNumber) Конструкторы: Конструктор по умолчанию Формирование неинициализированного объекта Описание: Генератор случайных чисел. Доступность: Тонкий клиент, сервер, толстый клиент, внешнее соединение. |
|||
4
Heckfy
25.03.14
✎
11:35
|
ГенераторСлучайныхЧисел (RandomNumberGenerator)
СлучайноеЧисло (RandomNumber) Синтаксис: СлучайноеЧисло(<НижнийДиапазон>, <ВерхнийДиапазон>) Параметры: <НижнийДиапазон> (необязательный) Тип: Число. Нижний диапазон. Задается целым числом и не может быть меньше 0. Значение по умолчанию: 0 <ВерхнийДиапазон> (необязательный) Тип: Число. Верхний диапазон. Задается целым числом и не может быть больше 4294967295 (2^32 - 1), а также меньше значения параметра <НижнийДиапазон>. Значение по умолчанию: 4294967295 Возвращаемое значение: Тип: Число. Описание: Возвращает случайное целое число в заданном диапазоне. Нижний диапазон не может быть меньше 0, а верхний диапазон не может быть больше 2^32 - 1. Доступность: Тонкий клиент, сервер, толстый клиент, внешнее соединение. Пример: ГСЧ = Новый ГенераторСлучайныхЧисел(255); ГСЧ.СлучайноеЧисло(0, 10000); |
|||
5
sqr4
25.03.14
✎
11:38
|
Т.е если я пройдусь циклом 30 раз то
ГСЧ.СлучайноеЧисло(1, 30) выдаст мне все числа без задвоений правильно? |
|||
6
Heckfy
25.03.14
✎
11:38
|
(5) Нет.
|
|||
7
GROOVY
25.03.14
✎
11:39
|
(5) Нет
|
|||
8
sqr4
25.03.14
✎
11:39
|
т.е нужно запоминать выпавшие числа и сравнивать их со случайным и если не совпадет, ждать когда выпадет нужный? Мне кажется это будет долго, больше придумать ничего не могу
|
|||
9
Heckfy
25.03.14
✎
11:40
|
||||
10
Naumov
25.03.14
✎
11:40
|
(5) Даже лучшие генераторы случайных чисел не дают такого распределения.
Хотя есть определенные вырожденные случаи, которые могут перебрать все единственный раз. |
|||
11
KarpovDeniska
25.03.14
✎
11:41
|
(8) можно менять диапазон каждый раз
|
|||
12
artems
25.03.14
✎
11:42
|
(8) как вариант загони все числа в тз, генератором выбирай строку тз и удаляй и т.д.
|
|||
13
sqr4
25.03.14
✎
11:45
|
(11) Нужно именно перебрать числа в определенном диапазоне (9) не нашел ничего
|
|||
14
KarpovDeniska
25.03.14
✎
11:47
|
в (12) самый простой вариант
|
|||
15
Godofsin
25.03.14
✎
11:47
|
(12) а чо? норм вариант
|
|||
16
Серый Пес
25.03.14
✎
11:48
|
(13) А почему я нашел? :)
|
|||
17
sqr4
25.03.14
✎
11:50
|
Про (12) я помоему тоже самое написал, только корявым языком) если нужно будет перебрать числа от 1 до 10000, когда в ТЗ будет одна строка, сколько нужно будет ждать чтобы генератор выбрал именно ее?
(16) Наверно потому что у тебя руки растут откуда надо в отличии от меня) |
|||
18
Molinor
25.03.14
✎
11:51
|
(17) Зачем ждать, ставь диапазон равный количеству строк.
|
|||
19
sqr4
25.03.14
✎
11:52
|
дошло! спасибо
|
|||
20
PuhUfa
25.03.14
✎
11:52
|
(17) СлучайноеЧисло(0, КоличествоСтрокВТЗ). Выбранную чстроку из ТЗ удаляй со сдвигом
|
|||
21
Heckfy
25.03.14
✎
11:54
|
(20) СлучайноеЧисло(0, (КоличествоСтрокВТЗ-1)) по моему. А то за границы выйдет...
|
|||
22
vde69
модератор
25.03.14
✎
11:59
|
(5) если тебе такое нужно то реализовать такое можно немного по другой методе.
1. готовим ТЗ, первую колонку заполняем простым инкрементом 1,2,3 и т.д. 2. вторую колонку заполняем рандомом с заранее большим диапазоном (например если всего 100 строк то делаем ранд(10000)), при этом совпасть конечно может, но вероятность низкая 3. сортируем по второй колонке 4. простым циклом имеем случайную последовательность с гарантироваными значениями от 1 до 100 |
|||
23
ale-sarin
25.03.14
✎
12:08
|
(22) А еще можно в пункт 2 сунуть Новый УникальныйИдентификатор. И по нему сортировать.
|
|||
24
Eugene_life
25.03.14
✎
13:12
|
(0) Первым шагом через генератор СЧ определить количество ТЗ, разбить весь диапазон на это кол-во ТЗ. В каждой ТЗ через генератор СЧ поочередно выбирать строку, и удалять ее.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |