Забавно, что если искать решение в пространстве готовых рук, то их кол-во составит уже ~ 6 Терабайт. А задача правильного "разложения" сведётся к факторизации целых чисел. Есть математики в треде? Как быстро 13значное число раскладывается?
Цитата (БиллиУбили @ 10.12.2019)
Забавно, что если искать решение в пространстве готовых рук, то их кол-во составит уже ~ 6 Терабайт. А задача правильного "разложения" сведётся к факторизации целых чисел. Есть математики в треде? Как быстро 13значное число раскладывается?
Цитата (c00l0ne @ 10.12.2019)
Я вроде как математик
Цитата (c00l0ne @ 10.12.2019)
очевидно 10 кущей берутся с фантазий сверху и сетов наверху, в совокупности где то даст 10
Цитата (c00l0ne @ 10.12.2019)
При чем тут база комб...
Цитата
Там и 1(одного) очка не наберётся.
Цитата
. При том, что число рук(с очками) конечно. А в конечном итоге всё сводится к ним.
Цитата
. Хреновый ты математик
Цитата (БиллиУбили @ 10.12.2019)
1. Любая заполненная линия приводится к виду "комбинация из Х карт, далее кикеры". Если никакой комбинации не образуется, все карты являются кикерами и сортируются по старшинству(как и на предыдущем этапе).
2. Для каждой комбинации старше А-хай определяем уникальный "код"(например, 823477) и таким образом получаем автоматическую сортировку всех комбинаций по старшинству(так, что комбинация с кодом 823477 старше комбинации с кодом 662121)
А вот дальше непонятно.
Цитата (Marauder62 @ 10.12.2019)
Вариант А:
Цитата (Marauder62 @ 10.12.2019)
Вариант Б:
Цитата (Galax @ 10.12.2019)
Я не поленился и посчитал твоей прогой выше представленный расклад когда у нас 4,8,Q
Цитата (Galax @ 10.12.2019)
Какое это среднее значение я не знаю и очень бы хотелось узнать (регуляры делитесь инфой).
Цитата (Marauder62 @ 10.12.2019)
Зачем 8? У тебя есть всего одна комба, где масть играет значение, вот ее и в отдельную таблицу.
Цитата (БиллиУбили @ 10.12.2019)
У меня в таблице на месте 50*2*12*18*4 записано "флаш".
Цитата (Marauder62 @ 10.12.2019)
Это железно работает для простых чисел: 1, 2, 3, 5, 7, 11 и т.д. в этом случае 48 число это 223, а 52 - 239
Цитата (БиллиУбили @ 10.12.2019)
Пока у меня есть только одна версия происходящего. Код(сам алгоритм) тебе писал кто-то другой(например, студент) и он тебя очень сильно наебал.
Цитата (БиллиУбили @ 10.12.2019)
Перемножить все числа, отвечающий за карты(от 0 до 52) и получить уникальное(!) число, отвечающее за все 5! = 120 вариантов одной и той же комбинации
Цитата (БиллиУбили @ 10.12.2019)
А если ты решил собирать флаш, то у тебя на выходе может быть флаш или пара, ничего более.
Цитата (c00l0ne @ 10.12.2019)
Jak, зачем все варики считать... Лучшие отметил и уточняешь их... Лучшие 10 шт вариантов...
Цитата (Jak @ 11.12.2019)
все уже разжевали полгода назад. Всего 5 !!! обращений в массив - и все! ответ! Нет он умножает, складывает и тд.
Пять! операций и все.
Цитата (Jak @ 11.12.2019)
а ты думаешь "Перемножить все числа" не являются операциями? Они не занимают время процессора?
Цитата (Jak @ 11.12.2019)
Вот получилось 10 бонусов, ну, значит так выходит. И если кому-то "кажется" что так не может быть, это его проблема.
Цитата (Jak @ 11.12.2019)
А вообще вы меня убедили, херовая у меня программа. Удалил.
Копошитесь дальше в детском саду.
Цитата (DmNass @ 11.12.2019)
Зачем нам кнопки скуп не совсем понятно. Можно реализовать так, как считют при игре? Выигранна линия +1,-1,0. Если +1,+1,+1 или -1,-1,-1, то соответственно +6 и -6 против каждого оппонента.
Цитата (БиллиУбили @ 11.12.2019)
Набросал тут 3 варианта определения силы комбинации
Вариант А:int sily_komb[10000];
int prosto[] = { 1, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37};
int komb[] = { rand()%14, rand()%14, rand()%14, rand()%14, rand()%14};
long id = 1.0;
for(int i=0; i < 5; i++)
{
id = id*(long)prosto[komb[i]];
}
int sila_komb = sily_komb[id%9999];
Вариант Б:int sily_komb[10000];
int komb[] = { rand()%14, rand()%14, rand()%14, rand()%14, rand()%14};
std::vector<int> mykomb (komb, komb+5);
std::sort(mykomb.begin(), mykomb.begin()+5); //сортировка по возрастанию
id = komb[0]*28561 + komb[1]*2197 + komb[2]*169 + komb[3]*13 + komb[4];
int sila_komb = sily_komb[id%9999];
Вариант В:int sily_komb[10000];
int komb[] = { rand()%14, rand()%14, rand()%14, rand()%14, rand()%14};
qsort(komb, 5, sizeof(int),comp1); //здесь comp1 - стандартная функция сравнения
id = komb[0]*28561 + komb[1]*2197 + komb[2]*169 + komb[3]*13 + komb[4];
int sila_komb = sily_komb[id%9999];
Как думаете, кто победит в быстродейстии?
ЗЫ Как определять силу комбинации за 5 запросов в таблицу по-прежнему представить не могу...