|
|
|
Zapolneniya kartochki loto
|
|||
|---|---|---|---|
|
#18+
Ochen srochno nujno mne reshit eti problemi, Esli kto znaet pomoqite pojalusta. Ya uje bolshe etoqo nicheqo ne moqu soobrajat. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2006, 07:45 |
|
||
|
Zapolneniya kartochki loto
|
|||
|---|---|---|---|
|
#18+
Если подождешь пару дней, то на выходных могу расписать. Задачка достаточно простая, просто требует тщательного анализа. Не столько на знание, сколько на внимание. Это я про первый вариант о формировании одной строки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2006, 12:16 |
|
||
|
Zapolneniya kartochki loto
|
|||
|---|---|---|---|
|
#18+
Budu bloqadaren. Ya dumayu chto yesli 1-y variant poluchitsa, 2-y variant (6 stroka) ne budet tak slojno. Ya sam toje postarayus chto-to delat. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2006, 13:10 |
|
||
|
Zapolneniya kartochki loto
|
|||
|---|---|---|---|
|
#18+
Держи вариант решения для первой задачи Правда, решение не идеальное в том смысле, что не получается для ВСЕХ значений получить одинаковое количество вариантов. Например, если я ограничиваюсь 100 значениями для каждой цифры, это значит, что примерно 10 значений будут использованы около 80 раз. А так, результаты пропорциональные получаются. Для 100 значений порядка 1780 записей (около 10 секунд расчета), для 1000 значений - порядка 17800 записей (около 2...3 минут расчета). "Порядка" означает, что это, вероятно, максимальное значение. Точно не стал вычислять предельное значение. А реальный результат колеблется от 1730 до 1780 на каждые 100 значений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2006, 20:14 |
|
||
|
Zapolneniya kartochki loto
|
|||
|---|---|---|---|
|
#18+
ВладимирМ не получается для ВСЕХ значений получить одинаковое количество вариантов. Например, если я ограничиваюсь 100 значениями для каждой цифры, это значит, что примерно 10 значений будут использованы около 80 раз. Vot imenno ya etu problemu xotel reshit. U menya toje samiy poluchaetsa. No, nascet praporsianolnosti ya ne ponyal. Napirmer, kolichestvo ispolzuvanie kajdoqo znachenie postavil 10000, poluchilsa chto '9' ne doispolzovona 3895 raz,a '84' 411 raz. Eto ne ochen to proporsinalno pomoemu. Ili ya ne ponimayu chto-to. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2006, 08:23 |
|
||
|
Zapolneniya kartochki loto
|
|||
|---|---|---|---|
|
#18+
Ну, двай на простом примере. 3 ячейки по 2 значения (1,2; 3,4; 5,6) и одна блуждающая дырка. Имеем следующие варианты 1 3 0 1 4 0 2 3 0 2 4 0 1 0 5 1 0 6 2 0 5 2 0 6 0 3 5 0 3 6 0 4 5 0 4 6 Легко увидеть, что каждое значение встречается ровно 4 раза. Но, если стоит ограничение, выбрать каждое значение только 2 раза? Какие будем выбирать? Предположим, выбрали первые 4 записи. Что имеем: все значения от 1 до 4 были выбраны ровно 2 раза. Значит, эти значения больше выбирать нельзя. НО, а как же значения 5 и 6? А никак! Их уже НЕВОЗМОЖНО выбрать, поскольку в любой оставшейся записи они будут в связке с одним из уже использованных значений. Т.е. попытка выбрать значения 5 или 6 приведет к переполнению количества других значений. Да, можно рассчитать комбинацию, при которой все значения будут выбраны одинаковое количество раз. Но! А оно тебе надо? Это получается довольно не тривиальная задача на комбинаторику. Поскольку в коде используется выборка случайным образом через RAND(), то предсказать, сколько же останется "в остатке" невозможно. Можешь попробовать поискать закономерности, при выполнении которых будет выбор всегда одинакового количества значений без остатка. Добавь эти ограничения в отбор записей и "будет тебе счастье". Например, в данном примере из 3 ячеек и выбора только 2 значений эта закономерность легко просчитывается: одно значение не может иметь более одной "пары" в одной и той же ячейке. Ну, т.е. для значения 1 в паре должно быть только одно значение из второй ячейки (любое) и только одно значение из третьей ячейки (любое), но недопустимо иметь два разных значения в одной и той же ячейке. Другими словами допустимо выбрать 1 3 0 1 0 5 или 1 4 0 1 0 6 Но недопустимо выбрать 1 3 0 1 4 0 А общие закономерности для любого количества дырок и любого количества значений ищи сам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2006, 12:07 |
|
||
|
Zapolneniya kartochki loto
|
|||
|---|---|---|---|
|
#18+
ВладимирМ можно рассчитать комбинацию, при которой все значения будут выбраны одинаковое количество раз. Но! А оно тебе надо? Imenno eto nado bilo mne. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2006, 13:21 |
|
||
|
Zapolneniya kartochki loto
|
|||
|---|---|---|---|
|
#18+
ВладимирМ Можешь попробовать поискать закономерности, при выполнении которых будет выбор всегда одинакового количества значений без остатка. Добавь эти ограничения в отбор записей и "будет тебе счастье". Eto ya ne ponyal kak? Esli mojno podrobnee skajite ob etom, pojalusta. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2006, 16:28 |
|
||
|
Zapolneniya kartochki loto
|
|||
|---|---|---|---|
|
#18+
Привет. Я немного код менял, получил более или менее подходящий вариант. Но и здесь тоже некоторые цифры (последные) не присутствует в таблице. Вот мой код: ssdd.rar Нет ли решение этой проблемы? Как тогда заплоняет таблицы для лотереии? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 07:48 |
|
||
|
Zapolneniya kartochki loto
|
|||
|---|---|---|---|
|
#18+
Если ты думаешь, что приведенный тобой код настолько элементарен, что понятен без комментариев, то ты сильно ошибаешся. Т.е., конечно, понять его можно. Затратив довольно много времени и сил. А оно мне надо? Итак, что имеем: Variant - какие 5 ячеек из 9 доступных будут заполнены на очередной итерации. Кстати, некорректно заполненной (лишние записи, дающие дубли вариантов) araliq - диапазон возможных значений каждой ячейки 90.dbf - счетчик. Сколько раз было использовано каждое значение BigTable - отобранные варианты Берем запись таблицы Variant - номера ячеек, которые будут заполняться. По диапазону, указанному в araliq начинаем перебирать ВСЕ возможные значения для каждой ячейки. Поскольку комбинации в таблице Variant - уникальны, то дублей при переборе быть не может. Т.е. невозможно создать комбинацию, которая раньше уже была записана. Продолжаем перебор, пока не достигнем предела использования значений в очередной комбинации. В чем здесь проблема? Возвращаюсь к примеру 2 значения в 3 ячеках. В каждой ячейке возможны только 2 значения. Содержимое таблицы Variant в этом случае будет такое (исключая дубли вариантов) 12 13 23 Первая ячейка - от 1 до 2 Вторая ячейка - от 3 до 4 Третья ячейка - от 5 до 6 Двигаемся по твоей логике по таблице Variant и имеем в BigTable значения Строка 1 таблицы Variant 1 3 0 1 4 0 2 3 0 2 4 0 Строка 2 таблицы Variant 1 0 5 1 0 6 2 0 5 2 0 6 Строка 3 таблицы Variant 0 3 5 0 3 6 0 4 5 0 4 6 Ставим ограничение: не более 2 раз выбрать каждое значение. Движемся сверху вниз и выбираем 1 3 0 1 4 0 2 3 0 2 4 0 ВСЕ! Больше НИЧЕГО выбрать не получится. Каждое значение было выбрано ровно 2 раза. Из третьего столбца не будет выбрано НИ ОДНОГО значения. Более того, в общем случае у тебя и не получится выбрать одинаковое количество раз каждое значение. Ведь ты имеешь РАЗНЫЕ диапазоны. Для первой ячейки - 9 значений Для ячеек со второй по восьмую - по 10 значений Для девятой ячейки - 11 значений Это значит, что первая ячейка будет выбираться несколько бОльшее количество раз, последнее - несколько мЕньшее количество. Равномерного распреджеления не будет в принципе. ПРОСТОГО решения, я не вижу. Любой простой алгоритм основанный на переборе вариантов "упрется" в некую неравномерность распределения. В большей или меньшей степени. Думаю, это задачка из теории вероятности и статистических распределений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2006, 00:05 |
|
||
|
Zapolneniya kartochki loto
|
|||
|---|---|---|---|
|
#18+
Тогда, я думаю это более простой вариант, уже другого игра. Цифры от 1 до 50, в таблице 25 полей, и каждое поле имеет свое значение a1,b1,c1,d1,e1 - от 1 до 9 a2,b2,c2,d2,e2 - от 10 до 19 a3,b3,c3,d3,e3 - от 20 до 29 a4,b4,c4,d4,e4 - от 30 до 39 a5,b5,c5,d5,e5 - от 40 до 50 А как здесь получить так что с каждого цифра в таблице присутствовали одинаковый раз? Код имею, но не получается с каждого цифра в таблице присутствовали одинаковый раз. Допустим, 1000 раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2006, 13:15 |
|
||
|
Zapolneniya kartochki loto
|
|||
|---|---|---|---|
|
#18+
Я могу только повторить, то, что уже сказал ВладимирМПРОСТОГО решения, я не вижу. Любой простой алгоритм основанный на переборе вариантов "упрется" в некую неравномерность распределения. В большей или меньшей степени. Думаю, это задачка из теории вероятности и статистических распределений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2006, 14:05 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=34078821&tid=1590393]: |
0ms |
get settings: |
6ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
44ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 354ms |

| 0 / 0 |
