mirror of
https://github.com/trekhleb/javascript-algorithms.git
synced 2025-12-19 08:59:05 +08:00
Add factorial.
This commit is contained in:
@@ -11,8 +11,45 @@ its the same fruit salad.
|
||||
|
||||
## Combinations without repetitions
|
||||
|
||||
This is how lotteries work. The numbers are drawn one at a
|
||||
time, and if we have the lucky numbers (no matter what order)
|
||||
we win!
|
||||
|
||||
No Repetition: such as lottery numbers `(2,14,15,27,30,33)`
|
||||
|
||||
**Number of combinations**
|
||||
|
||||

|
||||
|
||||
where `n` is the number of things to choose from, and we choose `r` of them,
|
||||
no repetition, order doesn't matter.
|
||||
|
||||
It is often called "n choose r" (such as "16 choose 3"). And is also known as the Binomial Coefficient.
|
||||
|
||||
## Combinations with repetitions
|
||||
|
||||
Repetition is Allowed: such as coins in your pocket `(5,5,5,10,10)`
|
||||
|
||||
Or let us say there are five flavours of icecream:
|
||||
`banana`, `chocolate`, `lemon`, `strawberry` and `vanilla`.
|
||||
|
||||
We can have three scoops. How many variations will there be?
|
||||
|
||||
Let's use letters for the flavours: `{b, c, l, s, v}`.
|
||||
Example selections include:
|
||||
|
||||
- `{c, c, c}` (3 scoops of chocolate)
|
||||
- `{b, l, v}` (one each of banana, lemon and vanilla)
|
||||
- `{b, v, v}` (one of banana, two of vanilla)
|
||||
|
||||
**Number of combinations**
|
||||
|
||||

|
||||
|
||||
Where `n` is the number of things to choose from, and we
|
||||
choose `r` of them. Repetition allowed,
|
||||
order doesn't matter.
|
||||
|
||||
## References
|
||||
|
||||
[Math Is Fun](https://www.mathsisfun.com/combinatorics/combinations-permutations.html)
|
||||
|
||||
Reference in New Issue
Block a user