14.03.2012, 18:52
|
Кандидат Javascript-наук
|
|
Регистрация: 20.11.2010
Сообщений: 143
|
|
Расчет числа последовательностей
Всем доброго времени суток!
Есть четыре набора цифр от 1 до 10, необходимо посчитать количество возможных вхождений последовательности из любых 5 элементов наборов, при этом в последовательность могут входить элементы из любого набора, главное чтобы они шли подряд, например:
набор 1: 1,2,3,4,5,6,7,8,9,10
набор 2: 1,2,3,4,5,6,7,8,9,10
набор 3: 1,2,3,4,5,6,7,8,9,10
набор 4: 1,2,3,4,5,6,7,8,9,10
последовательность может быть 1,2,3,4,5 или 5,6,7,8,9 или 2,3,4,5,6 и т.д. главное чтобы элементы шли подряд они могут содержать числа из любого из 4-х наборов. Нужно вычислить сколько всего таких последовательностей может быть в этих 4 наборах.
Логика подсказывает, что нужно использовать формулы комбинаторики в частности 10!/(5!*(10-5)!), но таким образом вычисляется число комбинаций в одном наборе, никак не пойму как учесть что числа в ней могут быть из любого набора и должны быть друг за другом.
__________________
|
|
14.03.2012, 20:01
|
Server
|
|
Регистрация: 26.09.2011
Сообщений: 252
|
|
Еще раз попробуйте переформулировать, с примерами. Так как вы сформулировали-ответ
1,2,3,4,5
2,3,4,5,6
3,4,5,6,7
4,5,6,7,8
5,6,7,8,9
6,7,8,9,10
и все.
|
|
14.03.2012, 21:38
|
Кандидат Javascript-наук
|
|
Регистрация: 20.11.2010
Сообщений: 143
|
|
в общем смысл прост надо посчитать сколько комбинаций стрита(последовательность из любых 5 карт) находится в колоде из 52 карт при этом масть карт значения не играет, т.е. сколько стритов можно собрать из 52 карт
пример стрита
2б,3п,4ч,5к,6б
__________________
Последний раз редактировалось Slavenin, 14.03.2012 в 21:41.
|
|
14.03.2012, 22:00
|
Server
|
|
Регистрация: 26.09.2011
Сообщений: 252
|
|
Если у вас
1,2,3,4,5
2,3,4,5,6
3,4,5,6,7
4,5,6,7,8
5,6,7,8,9
6,7,8,9,10
Это все 6 вариантов без мастей, каждый элемент может быть 1 из четырех мастей на пяти местах=6 последовательностей, 4 варианта, 5 мест
6*(4^5)
|
|
14.03.2012, 22:13
|
Кандидат Javascript-наук
|
|
Регистрация: 20.11.2010
Сообщений: 143
|
|
т.е для последовательности из 13 карт формула будет выглядеть как 10*4^5? а вообще через формулы комбинаторики реально вычислить такую задачу? я просто в математике не очень силен
а вообще получается что стрит можно собрать 10200 способами
__________________
Последний раз редактировалось Slavenin, 14.03.2012 в 22:21.
|
|
14.03.2012, 23:03
|
Server
|
|
Регистрация: 26.09.2011
Сообщений: 252
|
|
Ну проверьте на малых числах, которые можно вручную подсчитать, не ошибся ли я.
Это и есть комбинаторика. Т.к. у вас масти не влияют, все варианты независимые. Поэтому степень, а не факториал.
|
|
15.03.2012, 08:30
|
Кандидат Javascript-наук
|
|
Регистрация: 20.11.2010
Сообщений: 143
|
|
благодарю, за объяснение.
нет, вы не ошиблись
__________________
|
|
15.03.2012, 09:34
|
Кандидат Javascript-наук
|
|
Регистрация: 20.11.2010
Сообщений: 143
|
|
правильно ли я рассуждаю для расчета числа различных комбинаций из 5 карт в пределах 13 карт одной масти.
Основных комбинаций - 10
1 2 3 4 5 6
2 3 4 5 6 7
3 4 5 6 7 8
4 5 6 7 8 9
5 6 7 8 9 10
6 7 8 9 10 j
7 8 9 10 j q
8 9 10 j q k
9 10 j q k a
в каждой из этих комбинаций одна из карт может занимать одно из 9 незанятых мест
2 3 4 5 6
2 3 4 5 7
2 3 4 5 8
2 3 4 5 9
2 3 4 5 10
2 3 4 5 j
2 3 4 5 q
2 3 4 5 k
2 3 4 5 a
всего таких карт 5
отсюда общее число различных не повторяющихся вариантов = 9*10*5=450
?
__________________
|
|
16.03.2012, 12:33
|
Кандидат Javascript-наук
|
|
Регистрация: 20.11.2010
Сообщений: 143
|
|
уже объяснили, что я рассуждаю неправильно, правильно действовать через формулу сочетаний
__________________
|
|
20.03.2012, 08:48
|
Кандидат Javascript-наук
|
|
Регистрация: 20.11.2010
Сообщений: 143
|
|
дабы не делать еще одну тему спрошу здесь. Как в js работать с очень большими числами, в частности с факториалом 52 (8065817517094390000000000000000000000000000000000 0000000000000000000
) или на js такие штуки не прокатят? из-за округления в экспоненциальный вид теряется точность, что недопустимо.
__________________
|
|
|
|