Search for a tool
Combination N Choose K

Tool to generate combinations. In mathematics, a choice of k elements out of n distinguishable objects (k choose n), where the order does not matter, is represented by a list of elements, which cardinal is the binomial coefficient.

Results

Combination N Choose K -

Tag(s) : Combinatorics

Share dCode and more

dCode is free and its tools are a valuable help in games, maths, geocaching, puzzles and problems to solve every day!
A suggestion ? a feedback ? a bug ? an idea ? Write to dCode!

Please, check our community Discord for help requests!

Thanks to your feedback and relevant comments, dCode has developped the best 'Combination N Choose K' tool, so feel free to write! Thank you !

# Combination N Choose K

## Combinations and Lottery Games

To get a list of combinations with a guaranteed minimum of numbers (also called reduced lottery draw), dCode has a tool for that:

To draw random numbers (Lotto, Euromillions, Superlotto, etc.)

Tool to generate combinations. In mathematics, a choice of k elements out of n distinguishable objects (k choose n), where the order does not matter, is represented by a list of elements, which cardinal is the binomial coefficient.

### How to generate combinations of n choose k?

The generator allows to select values of $k$ and $n$, and generates possible list of combinations with digits or letters (or a custom list).

Example: 4 choose 2 generates: (1,2),(1,3),(1,4),(2,3),(2,4),(3,4)

The generation is limited to 2000 lines. Combinatorics can introduce huge numbers, this limits secures the computation server.

To generates large lists, dCode can generate them upon (paid) request.

### How to count the number of combinations of n choose k?

The calculation uses the binomial coefficient: $$C_n^k = \binom{n}{k} = \frac{n!}{k!(n-k)!}$$

Combinations uses calculus of factorials (the exclamation mark: !).

 3 choose 2 = 3 combinations (1,2)(1,3)(2,3) 4 choose 2 = 6 combinations (1,2)(1,3)(1,4)(2,3)(2,4)(3,4) 5 choose 2 = 10 combinations (1,2)(1,3)(1,4)(1,5)(2,3)(2,4)(2,5)(3,4)(3,5)(4,5) 6 choose 2 = 15 combinations (1,2)(1,3)(1,4)(1,5)(1,6)(2,3)(2,4)(2,5)(2,6)(3,4)(3,5)(3,6)(4,5)(4,6)(5,6) 7 choose 2 = 21 combinations (1,2)(1,3)(1,4)(1,5)(1,6)(1,7)(2,3)(2,4)(2,5)(2,6)(2,7)(3,4)(3,5)(3,6)(3,7)(4,5)(4,6)(4,7)(5,6)(5,7)(6,7) 8 choose 2 = 28 combinations (1,2)(1,3)(1,4)(1,5)(1,6)(1,7)(1,8)(2,3)(2,4)(2,5)(2,6)(2,7)(2,8)(3,4)(3,5)(3,6)(3,7)(3,8)(4,5)(4,6)(4,7)(4,8)(5,6)(5,7)(5,8)(6,7)(6,8)(7,8) 9 choose 2 = 36 combinations (1,2)(1,3)(1,4)(1,5)(1,6)(1,7)(1,8)(1,9)(2,3)(2,4)(2,5)(2,6)(2,7)(2,8)(2,9)(3,4)(3,5)(3,6)(3,7)(3,8)(3,9)(4,5)(4,6)(4,7)(4,8)(4,9)(5,6)(5,7)(5,8)(5,9)(6,7)(6,8)(6,9)(7,8)(7,9)(8,9) 4 choose 3 = 4 combinations (1,2,3)(1,2,4)(1,3,4)(2,3,4) 5 choose 3 = 10 combinations (1,2,3)(1,2,4)(1,2,5)(1,3,4)(1,3,5)(1,4,5)(2,3,4)(2,3,5)(2,4,5)(3,4,5) 6 choose 3 = 20 combinations (1,2,3)(1,2,4)(1,2,5)(1,2,6)(1,3,4)(1,3,5)(1,3,6)(1,4,5)(1,4,6)(1,5,6)(2,3,4)(2,3,5)(2,3,6)(2,4,5)(2,4,6)(2,5,6)(3,4,5)(3,4,6)(3,5,6)(4,5,6) 7 choose 3 = 35 combinations (1,2,3)(1,2,4)(1,2,5)(1,2,6)(1,2,7)(1,3,4)(1,3,5)(1,3,6)(1,3,7)(1,4,5)(1,4,6)(1,4,7)(1,5,6)(1,5,7)(1,6,7)(2,3,4)(2,3,5)(2,3,6)(2,3,7)(2,4,5)(2,4,6)(2,4,7)(2,5,6)(2,5,7)(2,6,7)(3,4,5)(3,4,6)(3,4,7)(3,5,6)(3,5,7)(3,6,7)(4,5,6)(4,5,7)(4,6,7)(5,6,7) 5 choose 4 = 5 combinations (1,2,3,4)(1,2,3,5)(1,2,4,5)(1,3,4,5)(2,3,4,5) 6 choose 4 = 15 combinations (1,2,3,4)(1,2,3,5)(1,2,3,6)(1,2,4,5)(1,2,4,6)(1,2,5,6)(1,3,4,5)(1,3,4,6)(1,3,5,6)(1,4,5,6)(2,3,4,5)(2,3,4,6)(2,3,5,6)(2,4,5,6)(3,4,5,6) 7 choose 4 = 35 combinations (1,2,3,4)(1,2,3,5)(1,2,3,6)(1,2,3,7)(1,2,4,5)(1,2,4,6)(1,2,4,7)(1,2,5,6)(1,2,5,7)(1,2,6,7)(1,3,4,5)(1,3,4,6)(1,3,4,7)(1,3,5,6)(1,3,5,7)(1,3,6,7)(1,4,5,6)(1,4,5,7)(1,4,6,7)(1,5,6,7)(2,3,4,5)(2,3,4,6)(2,3,4,7)(2,3,5,6)(2,3,5,7)(2,3,6,7)(2,4,5,6)(2,4,5,7)(2,4,6,7)(2,5,6,7)(3,4,5,6)(3,4,5,7)(3,4,6,7)(3,5,6,7)(4,5,6,7) 6 choose 5 = 6 combinations (1,2,3,4,5)(1,2,3,4,6)(1,2,3,5,6)(1,2,4,5,6)(1,3,4,5,6)(2,3,4,5,6) 7 choose 5 = 21 combinations (1,2,3,4,5)(1,2,3,4,6)(1,2,3,4,7)(1,2,3,5,6)(1,2,3,5,7)(1,2,3,6,7)(1,2,4,5,6)(1,2,4,5,7)(1,2,4,6,7)(1,2,5,6,7)(1,3,4,5,6)(1,3,4,5,7)(1,3,4,6,7)(1,3,5,6,7)(1,4,5,6,7)(2,3,4,5,6)(2,3,4,5,7)(2,3,4,6,7)(2,3,5,6,7)(2,4,5,6,7)(3,4,5,6,7)

### How to take into account the order of the elements?

By principle, combinations do not take into account order (1,2) = (2,1). Use the function permutations to get possible ordered combinations.

### How to get combinations with repetitions?

dCode has a dedicated tool for combinations with repetitions.

### How many combinations is there to lottery/euromillions?

To win at EuroMillions, a player ticks 5 boxes out of 50 (50 choose 5), then 2 stars out of 11 (11 choose 2).

Example: Calculate the number of combinations of (50 choose 5) = 2 118 760, and multiply by (11 choose 2) = 55 for a total of 116 531 800 combinations. The probability of winning is therefore 1 in 116 million.

To win at Powerball, pick 5 out of 69 (69 choose 5), then pick 1 out of 26 (26 choose 1).

Example: Calculate the number of combinations of (69 choose 5) = 11 238 513, and multiply by (26 choose 1) = 26 for a total of 292 201 338 combinations. The probability of winning is therefore 1 in 292 million.

Many books describes strategies for lotto or lottery such as here (link) One of the strategies is to play covering designs systems.

### Why k cannot be equal to zero 0?

If $k = 0$, then 0 item are wanted, there is an empty result with 0 item. So $$\binom{n}{0} = 1$$

### Why n cannot be equal to zero 0?

If $n = 0$, then there is 0 item, impossible to pick $k$, so there are no results. So $$\binom{0}{k} = 0$$

### What is the value of 0 choose 0?

By convention $$\binom{0}{0} = 1$$

### What is the algorithm for counting combinations?

// pseudo codestart count_combinations( k , n ) { if (k = n) return 1; if (k > n/2) k = n-k; res = n-k+1; for i = 2 by 1 while i < = k res = res * (n-k+i)/i; end for return res;end// language Cdouble factorial(double x) { double i; double result=1; if (x >= 0) { for(i=x;i>1;i--) { result = result*i; } return result; } return 0; // error}double count_combinations(double x,double y) { double z = x-y; return factorial(x)/(factorial(y)*factorial(z));}// VBAFunction Factorial(n As Integer) As Double Factorial = 1 For i = 1 To n Factorial = Factorial * i NextEnd FunctionFunction NbCombinations (k As Integer, n As Integer) As Double Dim z As Integer z = n - k NbCombinations = Factorial(n) / (Factorial(k) * Factorial(z))End Function

### What is the algorithm to generate combinations?

// javascriptfunction combinations(a) { // a = new Array(1,2) var fn = function(n, src, got, all) { if (n == 0) { if (got.length > 0) { all[all.length] = got; } return; } for (var j = 0; j < src.length; j++) { fn(n - 1, src.slice(j + 1), got.concat([src[j]]), all); } return; } var all = []; for (var i=0; i < a.length; i++) { fn(i, a, [], all); } all.push(a); return all;}

## Source code

dCode retains ownership of the online 'Combination N Choose K' tool source code. Except explicit open source licence (indicated CC / Creative Commons / free), any algorithm, applet or snippet (converter, solver, encryption / decryption, encoding / decoding, ciphering / deciphering, translator), or any function (convert, solve, decrypt / encrypt, decipher / cipher, decode / encode, translate) written in any informatic language (PHP, Java, C#, Python, Javascript, Matlab, etc.) no data, script or API access will be for free, same for Combination N Choose K download for offline use on PC, tablet, iPhone or Android !

## Need Help ?

Please, check our community Discord for help requests!