Подтвердить что ты не робот

Как получить общее количество уникальных пар набора в базе данных?

4 элемента:

A
B
C
D

Возможны 6 уникальных пар:

AB
AC
AD
BC
BD
CD

Что делать, если у меня есть 100 стартовых элементов? Сколько уникальных пар есть? Есть ли формула, в которую я могу ее вставить?

4b9b3361

Ответ 1

То, что вы ищете, это n выбрать k. В основном:

enter image description here

Для каждой пары из 100 предметов у вас будет 4 950 комбинаций - при условии, что порядок не имеет значения (AB и BA считаются одной комбинацией), и вы не хотите повторять (AA не является допустимой парой).

Ответ 2

Вот как вы можете самостоятельно подойти к этим проблемам:

Первая из пары может быть выбрана способами N (= 100). Вы не хотите снова выбирать этот элемент, поэтому вторую пару можно выбрать в N-1 (= 99). Всего вы можете выбрать 2 элемента из N в N (N-1) (= 100 * 99 = 9900) разными способами.

Но держись, таким образом, вы учитываете и разные порядки: оба и AB и BA подсчитываются. Поскольку каждая пара подсчитывается дважды, вам необходимо разделить N (N-1) на два (количество способов, которыми вы можете заказать список из двух элементов). Число подмножеств из двух, которое вы можете сделать с набором из N, равно N (N-1)/2 (= 9900/2 = 4950).

Ответ 3

TL;DR; Формула n(n-1)/2, где n - количество элементов в наборе.

Объяснение:

Чтобы найти количество уникальных пар в наборе, где пара подчиняется коммутативному свойству (AB = BA), вы можете вычислить summation 1 + 2 + ... + (n-1), где n - количество элементов в наборе.

Мотивы следующие: скажем, у вас есть 4 предмета:

A
B
C
D

Количество элементов, которые могут быть соединены с A, равно 3 или n-1:

AB
AC
AD

Из этого следует, что число элементов, которое может быть сопряжено с B, равно n-2 (поскольку B уже спаривается с A):

BC
BD

и т.д.

(n-1) + (n-2) + ... + (n-(n-1))

что совпадает с

1 + 2 + ... + (n-1)

или

n(n-1)/2

Ответ 4

Я решал этот алгоритм и застревал с парной частью.

Это объяснение мне очень помогает https://betterexplained.com/articles/techniques-for-adding-the-numbers-1-to-100/

Итак, чтобы вычислить сумму рядов чисел:

n(n+1)/2

Но вам нужно рассчитать это

1 + 2 + ... + (n-1)

Итак, чтобы получить это, вы можете использовать

n(n+1)/2 - n

равное

n(n-1)/2