← Назад к математике

Комбинаторика

Основные формулы комбинаторики: размещения, перестановки, сочетания

🐍 Python
from math import factorial

# размещение с повторениями
def arrangement_with_repetition(n, k):
    return n ** k

# размещение без повторений
def arrangement_without_repetition(n, k):
    return factorial(n) // factorial(n - k)

# перестановки
def permutation(n):
    return factorial(n)

# сочетания с повторениями
def combination_with_repetition(n, k):
    return factorial(n + k - 1) // (factorial(k) * factorial(n - 1))

# сочетания без повторений
def combination_without_repetition(n, k):
    return factorial(n) // (factorial(k) * factorial(n - k))
            
⚙️ C++
#include <bits/stdc++.h>
using namespace std;

// Функция для вычисления факториала
long long factorial(int n) {
    long long result = 1;
    for (int i = 2; i <= n; ++i) {
        result *= i;
    }
    return result;
}

// размещение с повторениями
long long arrangement_with_repetition(int n, int k) {
    return (long long)pow(n, k);
}

// размещение без повторений
long long arrangement_without_repetition(int n, int k) {
    return factorial(n) / factorial(n - k);
}

// перестановки
long long permutation(int n) {
    return factorial(n);
}

// сочетания с повторениями
long long combination_with_repetition(int n, int k) {
    return factorial(n + k - 1) / (factorial(k) * factorial(n - 1));
}

// сочетания без повторений
long long combination_without_repetition(int n, int k) {
    return factorial(n) / (factorial(k) * factorial(n - k));
}

Основные комбинаторные формулы

Размещение с повторениями

A̅(n, k) = nᵏ

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

Размещение без повторений

A(n, k) = n! / (n - k)!

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

Перестановки

P(n) = n!

Количество способов переставить n элементов местами.

Сочетания с повторениями

C̅(n, k) = (n + k - 1)! / (k! · (n - 1)!)

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

Сочетания без повторений

C(n, k) = n! / (k! · (n - k)!)

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

Попробовать онлайн

Результат появится здесь...