05.06.2014, 14:04
|
|
Профессор
|
|
Регистрация: 05.06.2009
Сообщений: 1,703
|
|
Биномиальные коэффициенты
В комбинаторике биномиальный коэффициент означает, число всех возможных вариантов выборки k элементов из множества элементов n.
Пример:
Из множества n {1,2,3,4}, выбираем все возможные комбинации из двух элементов, k=2
{1,2} {1,3} {1,4} {2,3} {2,4} {3,4}
Получается шесть возможных вариантов.
----------------------------------------
Как написать алгоритм перебирающий все эти варианты?
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
|
|
05.06.2014, 14:25
|
Профессор
|
|
Регистрация: 14.03.2012
Сообщений: 1,808
|
|
Цитата:
|
Получается шесть возможных вариантов.
Как написать алгоритм перебирающий все эти варианты?
|
Ну по идее сочетание определяет совокупности элементов не на всем множестве когда порядок не важен, и дает ток кол-во возможных исходов..
Если хочешь их посмотреть то нужно строить таблицу элементарных исходов
В цикле наверное пробегаться
Берешь первый элемент, и подставляешь к нему оставшиеся по очереди(в данном случае 2 оставшихся)
Потом делаешь то же самое с другими.
Если юзаешь не сочетание а размещение (где порядок важен)
То там получается все остальные добавляешь
__________________
Научу себя плохому
Последний раз редактировалось l-liava-l, 05.06.2014 в 14:39.
|
|
05.06.2014, 14:34
|
|
junior
|
|
Регистрация: 29.11.2011
Сообщений: 3,924
|
|
если в лоб, то так
var input = [1, 2, 3, 4];
var output = [];
var len = input.length;
for(var i = 0; i < len; i++) {
var j = i + 1;
for(; j < len; j++) {
output.push([
input[i],
input[j]
]);
}
}
console.log(output);
console.log(JSON.stringify(output));
но я не проверял
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
|
|
05.06.2014, 14:36
|
|
Профессор
|
|
Регистрация: 05.06.2009
Сообщений: 1,703
|
|
nerv_,
будет с повтрениями 1,2 2,1 и тп. в моём случае порядок не важен
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
|
|
05.06.2014, 14:37
|
|
Профессор
|
|
Регистрация: 05.06.2009
Сообщений: 1,703
|
|
я так подумал, что мне проще один раз этот массив вычислить (пусть не самым рациональным способом) и запихать куда нибудь в базу
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
|
|
05.06.2014, 14:37
|
Профессор
|
|
Регистрация: 14.03.2012
Сообщений: 1,808
|
|
nerv_,
Да)
Цитата:
|
будет с повтрениями 1,2 2,1 и тп. в моём случае порядок не важен
|
Как раз без повторений порядок же не важен)
Есть 2 цифры и пофиг в каком они положении
__________________
Научу себя плохому
|
|
05.06.2014, 14:58
|
|
Профессор
|
|
Регистрация: 05.06.2009
Сообщений: 1,703
|
|
l-liava-l,
Цитата:
|
Пусть имеется n различных объектов.
Будем выбирать из них m объектов все возможными способами (то есть меняется состав выбранных объектов, но порядок не важен). Получившиеся комбинации называются сочетаниями из n объектов по m, а их число равно
|
http://www.matburo.ru/tv_komb.php
p.s.: вы достали, я думал поможете, а вы тока моск насилуете
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
|
|
05.06.2014, 15:14
|
Аспирант
|
|
Регистрация: 05.06.2014
Сообщений: 94
|
|
Tim, я не совсем пойму причем тут эта формула,
Она поможет найти общее кол-во возможных комбинаций, а не их самих.
|
|
05.06.2014, 15:19
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,120
|
|
Tim,
k всегда 2?
|
|
05.06.2014, 15:25
|
|
Профессор
|
|
Регистрация: 05.06.2009
Сообщений: 1,703
|
|
Сообщение от cyber_ua
|
Она поможет найти общее кол-во возможных комбинаций, а не их самих.
|
Верно, в этом и проблема
Сообщение от рони
|
k всегда 2?
|
не, у меня покер. 52 карты в колоде и 5 нужно выбрать. те к = 5
http://pokercardplay.net/articles/13...naciy_v_pokere
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
|
|
|
|