# 4-digit combinations of ‘n’ numbers — using JavaScript

## Simplified in a common man’s language with little Math

For numbers 0 to 9 (where n=10), the possibilities of making 4-digit combinations are 10 * 10 * 10 * 10 = 10,000.

Likewise (when n=5) any non-repeating 5 numbers totals to 5 * 5 * 5 * 5= 625 possibilities to form 4-digit combinations.

We will consider ’n’ to be ‘5’ throughout this article for convenience.

## Explanation:

The 1st digit can be chosen from (3,2,1,9,8) = 5 options

The 2nd digit can be chosen from (3,2,1,9,8) = 5 options

The 3rd digit can be chosen from (3,2,1,9,8) = 5 options

The 4th digit can be chosen from (3,2,1,9,8) = 5 options

Therefore, there are 5 * 5 * 5 * 5 (= 5⁴ = 625) possible combinations.

**Similarly:** For any non-repeating 5 numbers, to form **6-digit **values, the total combinations are 5 * 5 * 5 * 5 * 5 * 5 (= 5⁶ = 15,625) possibilites.

In general, **n pow m **possibilities where m is the number of digits desired and n is the list of numbers.

When the same number is chosen more than once across one or more decimals (1’s, 10’s, 100’s, 1000's), then this condition is called as Repitition e.g. : 3333, 2298, 1339, 8998, 1288

# Possible cases:

## Case 1: Unique numbers, Repitition NOT allowed

When each number can be used only once —

*example set: (*3,2,1,9,8*)*

*The 1st digit can be chosen from (*3,2,1,9,8*) = 5 options*

*The 2nd digit can be chosen from (*3,2,1,9,8*) minus (already chosen in step 1) = 4 options*

*The 3rd digit can be chosen from (*3,2,1,9,8*) minus (already chosen in step 1, step 2)= 3 options*

*The 4th digit can be chosen from (*3,2,1,9,8*) minus (already chosen in step 1, step2, step 3) = 2 options*

Total : 5 * 4 * 3 * 2 = 120

## Case 2: Unique numbers, Repitition NOT allowed, Containing a ‘0’

If the given list of numbers consists a ’0’ & if the first digit shouldn’t be a ‘0 ’

*example set: (1,0, 9,8,6)*

*The 1st digit can be chosen from (1,9,8,6) = 4 options*

*The 2nd digit can be chosen from (1,0,9,8,6) minus (already chosen in step 1) = 4 options*

*The 3rd digit can be chosen from (1,0,9,8,6) minus (already chosen in step 1, step 2)= 3 options*

*The 4th digit can be chosen from (1,0,9,8,6) minus (already chosen in step 1, step2, step 3) = 2 options*

Total : 4 * 4 * 3 * 2 = 96

## Case 3: Non-Unique numbers, Repitition NOT allowed

If the given list of numbers consists one or more repeated numbers and since repitition in the final combination is NOT allowed, the total should be calculated by considering only the unique numbers.

*example set: (3,1,9,8,8)*

*The 1st digit can be chosen from (3,1,9,8) = 4 options*

*The 2nd digit can be chosen from (3,1,9,8) minus (already chosen in step 1) = 3 options*

*The 3rd digit can be chosen from (3,1,9,8) minus (already chosen in step 1, step 2)= 2 options*

*The 4th digit can be chosen from (3,1,9,8) minus (already chosen in step 1, step2, step 3) = 1 option*

Total** : **4 * 3 * 2 * 1 = 24

## FINAL PROGRAM

Note: If the list of numbers are less than 4 (after removing duplicates), then the total count becomes ‘0’, as we cannot make even a single 4 digit number without repeating the numbers.

## BONUS

Here is a bonus function to group the list of all possibilities based on their total sum value.

Kindly let me know if the article needs correction / improvement. TIA.