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 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.

The main function logic (without handling the possible cases mentioned in the next section)

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

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

The function logic to handle Case 1

Case 2: Unique numbers, Repitition NOT allowed, Containing 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

The function logic to handle Case 2

Case 3: Non-Unique numbers, Repitition NOT allowed

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

The function logic to handle Case 3

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

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

learner. seeker.