Given two integer N and M, the task is to find the number of distinct numbers having N 0’s and M 1’s with no leading zeros and N + M total digits.
Input: N = 2, M = 2
The numbers are 1001, 1010 and 1100.
Input: N = 2, M = 3
The numbers are 10011, 10101, 10110, 11001, 11010 and 11100.
Approach: The problem can be easily solved by finding the total permutation of N similar items and M – 1 similar items. Since no leading zeros are allowed, one 1 is always fixed at the start of the number. The remaining M – 1 1’s and N 0’s are arranged in different permutations. Now, the number of permutations of (A + B) objects where A objects of same type and B objects of other type is given by (A + B)! / (A! * B!). Therefore, the number of distinct numbers is given by (N + M -1)! / (N! * (M – 1)!).
Below is the implementation of the above approach:
- Count of N-bit binary numbers without leading zeros
- All possible numbers of N digits and base B without leading zeros
- Remove leading zeros from a Number given as a string
- Check if any permutation of a number without any leading zeros is a power of 2 or not
- Count ways to split a Binary String into three substrings having equal count of zeros
- Count of binary strings of length N having equal count of 0's and 1's and count of 1's ≥ count of 0's in each prefix substring
- Count unique numbers that can be generated from N by adding one and removing trailing zeros
- Count of N-digit Numbers having Sum of even and odd positioned digits divisible by given numbers
- Numbers whose factorials end with n zeros
- Count Pairs Of Consecutive Zeros
- Count number of trailing zeros in product of array
- Count binary strings with twice zeros in first half
- Count number of trailing zeros in (1^1)*(2^2)*(3^3)*(4^4)*..
- Count number of trailing zeros in Binary representation of a number using Bitset
- Golang Program to Count Trailing Zeros in Factorial of a Number
- Pair of integers having least GCD among all given pairs having GCD exceeding K
- Count of Numbers in a Range divisible by m and having digit d in even positions
- Count numbers in a range with digit sum divisible by K having first and last digit different
- Count of numbers between range having only non-zero digits whose sum of digits is N and number is divisible by M
- Find the count of numbers that can be formed using digits 3, 4 only and having length at max N.
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.