Число сочетаний

Введите общее число элементов n и размер выборки k. Калькулятор найдёт точное количество сочетаний без учёта порядка.

Всего элементов, n
Выбираем элементов, k

Количество сочетаний C(10, 3)

120

Цифр в результате3
Шагов вычисления3

Что считает число сочетаний

Три выбранных предмета отделены от большего набора разных предметов

Число сочетаний C(n, k) показывает, сколькими способами можно выбрать k элементов из n, если порядок выбранных элементов не важен. Из 10 разных книг можно выбрать 3 книги 120 способами. Наборы «красная, синяя, зелёная» и «зелёная, красная, синяя» считаются одним выбором, потому что внутри набора ничего не поменялось.

Сочетание без повторений является неупорядоченным набором из k разных элементов, выбранных из n разных элементов. Каждый исходный элемент можно взять не больше одного раза.

Классическая формула через факториалы выглядит так:

C(n,k)=(nk)=n!k!(nk)!\displaystyle C(n,k)=\binom{n}{k}=\frac{n!}{k!(n-k)!}

Для допустимого ввода n и k являются целыми, 0 ≤ k ≤ n. В NIST Digital Library of Mathematical Functions, §1.2(i) также зафиксирована симметрия C(n, k) = C(n, n - k). Калькулятор использует r = min(k, n - k), поэтому C(10 000, 9 999) вычисляется как выбор одного элемента, а не как произведение почти десяти тысяч множителей.

Почему порядок здесь не считается

Представим трёх участников: Анну, Бориса и Веру. Если нужно выбрать двоих в комиссию без разных ролей, возможны три состава: Анна с Борисом, Анна с Верой, Борис с Верой. Запись пары в обратном порядке нового состава не создаёт. Получаем C(3, 2) = 3.

Если тем же двум людям назначают места председателя и секретаря, порядок уже меняет результат. Анна как председатель и Борис как секретарь отличается от обратного назначения. Это задача на размещения, а не на сочетания. Один короткий вопрос обычно решает выбор формулы: меняется ли смысл результата после перестановки выбранных объектов?

Симметрия имеет простой смысл. Выбрать 3 книги из 10 равносильно тому, чтобы определить 7 книг, которые останутся на полке. Поэтому C(10, 3) = C(10, 7) = 120. Граница k = 0 тоже естественна: пустой набор выбирается ровно одним способом, значит, C(n, 0) = 1.

Где встречаются сочетания

📚 Три книги из десяти. C(10, 3) = 120. Порядок чтения пока не задан, считается только состав подборки. Если после выбора нужно расставить книги по очереди, появится отдельный этап с перестановками.

🃏 Пять карт из колоды. Обычная пятикарточная рука выбирается из 52 разных карт: C(52, 5) = 2 598 960. Порядок выдачи карт не влияет на итоговую руку. Это базовый знаменатель для вероятностей многих покерных комбинаций.

🍕 Две добавки из пяти. C(5, 2) = 10 вариантов. Грибы с сыром и сыр с грибами являются одной начинкой. Если разрешить взять одну добавку дважды, исходная модель перестанет быть сочетаниями без повторений.

🧪 Контрольная группа. Из 20 образцов выбирают 4 для повторного анализа: C(20, 4) = 4 845. Значение показывает количество возможных составов, а не число процедур внутри каждого выбранного набора.

⚽ Состав из одиннадцати игроков. Из заявки на 18 человек можно выбрать стартовую группу C(18, 11) = 31 824 способами, если позиции пока не различаются. Как только закрепляются конкретные роли, простого сочетания уже недостаточно.

🔐 Выбор позиций. Чтобы отметить 6 разных позиций среди 30, существует C(30, 6) = 593 775 вариантов. Формула подходит для маски выбранных мест, но не для кода, где символы на этих позициях образуют упорядоченную строку.

Как получается точный большой ответ

Прямая формула с тремя факториалами понятна на бумаге, но создаёт очень большие промежуточные числа. Калькулятор считает произведение по r шагам. На каждом шаге очередной множитель числителя умножается на текущий результат, после чего выполняется точное деление на номер шага. Дробной погрешности не появляется.

Вычисления выполняются как BigInt. Обычный Number перестаёт гарантировать точность целых выше 9 007 199 254 740 991, а комбинаторные ответы проходят эту границу быстро. Здесь цифры не заменяются экспоненциальной записью и не округляются. Пробелы добавляются только для чтения, в буфер копируется непрерывное целое.

Максимум n = 10 000 ограничивает объём результата и время отрисовки. Самый тяжёлый случай расположен около k = n / 2. Краевые значения k = 0 и k = n всегда дают 1, а k = 1 и k = n - 1 дают n. Эти четыре проверки удобно использовать при тестировании собственной реализации.

Для произведения всех чисел от 1 до n нужен калькулятор факториала. Факториал участвует в записи C(n, k), но число сочетаний обычно намного меньше n!, потому что порядок k выбранных элементов удаляется делением на k!.

Важно! Калькулятор считает сочетания без повторений. Если один элемент можно выбирать несколько раз либо порядок выбора имеет значение, нужна другая модель.

Вопросы о сочетаниях

Ответы уточняют нулевой выбор, симметрию и признаки, по которым сочетания отличают от размещений и моделей с повторениями.

Чему равно C(0, 0)?

C(0, 0) = 1. Из пустого множества существует ровно один способ выбрать пустой набор: не выбирать ничего.

Почему C(n, 0) и C(n, n) равны 1?

Пустой набор выбирается единственным способом. Выбрать все n элементов тоже можно одним составом, потому что ни один элемент не остаётся за пределами набора.

Почему C(n, k) равно C(n, n - k)?

Каждому выбору k элементов однозначно соответствует набор из n - k оставшихся элементов. Поэтому обе задачи перечисляют одни и те же разбиения на выбранную и оставшуюся части.

Когда вместо сочетаний нужны размещения?

Размещения нужны, если порядок выбранных элементов меняет результат: например, назначаются первое, второе и третье места. Для состава комиссии без ролей используются сочетания.

Учитывает ли калькулятор повторный выбор элемента?

Нет. Каждый из n элементов считается отдельным и может войти в набор только один раз. Сочетания с повторениями используют другую формулу.

Почему k не может быть больше n?

Без повторений нельзя выбрать больше разных элементов, чем есть в исходном наборе. Поэтому при k > n задача не имеет допустимых наборов, а интерфейс показывает ошибку.

Можно ли вводить дробные n и k?

Нет. n и k обозначают количество элементов и должны быть целыми неотрицательными числами. Дробное количество объектов не соответствует этой комбинаторной модели.

Почему результат не округляется?

Количество способов всегда является целым. Калькулятор использует BigInt и точное деление, поэтому показывает все цифры ответа без приближения.

Похожие калькуляторы

Возможно вам пригодятся ещё несколько калькуляторов по данной теме:

Есть что добавить?

Напишите своё мнение, комментарий или предложение.