All possible numbers of N digits and base B without leading zeros

Given number of digits ‘N’ and base ‘B’, the task is to count all the ‘N’ digit numbers without leading zeros that are in base ‘B’.

Examples:

```Input: N = 2, B = 2
Output: 2
All possible numbers without
leading zeros are 10 and 11.

Input: N = 5, B = 8
Output: 28672
```

Recommended: Please try your approach on {IDE} first, before moving on to the solution.

Approach:

• If the base is ‘B’ then every digit of the number can take any value within the range [0, B-1].
• So, B ‘N’ digit numbers are possible with base ‘B’ (including the numbers with leading zeros).
• And, if we fix the first digit as ‘0’ then the rest of the ‘N-1’ digits can form a total of B numbers.
• So, total number of ‘N’ digit numbers with base ‘B’ possible without leading zeros are B – B.

Below is the implementation of above Approach:

C++

 `// C++ implementation of the approach ` `#include ` `using` `namespace` `std; ` ` `  `// function to count ` `// all permutations ` `void` `countPermutations(``int` `N, ``int` `B) ` `{ ` `    ``// count of ` `    ``// all permutations ` `    ``int` `x = ``pow``(B, N); ` ` `  `    ``// count of permutations ` `    ``// with leading zeros ` `    ``int` `y = ``pow``(B, N - 1); ` ` `  `    ``// Return the permutations ` `    ``// without leading zeros ` `    ``cout << x - y << ``"\n"``; ` `} ` ` `  `// Driver code ` `int` `main() ` `{ ` ` `  `    ``int` `N = 6; ` `    ``int` `B = 4; ` ` `  `    ``countPermutations(N, B); ` ` `  `    ``return` `0; ` `} `

Java

 `// Java implementation of the approach ` ` `  `class` `GFG ` `{ ` `// function to count ` `// all permutations ` `static` `void` `countPermutations(``int` `N, ``int` `B) ` `{ ` `    ``// count of ` `    ``// all permutations ` `    ``int` `x = (``int``)Math.pow(B, N); ` ` `  `    ``// count of permutations ` `    ``// with leading zeros ` `    ``int` `y = (``int``)Math.pow(B, N - ``1``); ` ` `  `    ``// Return the permutations ` `    ``// without leading zeros ` `    ``System.out.println(x - y); ` `} ` ` `  `// Driver code ` `public` `static` `void` `main(String[] args) ` `{ ` `    ``int` `N = ``6``; ` `    ``int` `B = ``4``; ` ` `  `    ``countPermutations(N, B); ` `} ` `} ` ` `  `// This code is contributed by mits `

Python3

# Python3 implementation of the approach

# function to count all permutations
def countPermutations(N, B):

# count of all permutations
x = B ** N

# count of permutations
y = B ** (N – 1)

# Return the permutations
print(x – y)

# Driver code
if __name__ == “__main__”:

N, B = 6, 4
countPermutations(N, B)

# This code is contributed by Rituraj Jain

C#

 `// C# implementation of the approach ` ` `  `using` `System; ` `class` `GFG ` `{ ` `// function to count ` `// all permutations ` `static` `void` `countPermutations(``int` `N, ``int` `B) ` `{ ` `    ``// count of ` `    ``// all permutations ` `    ``int` `x = (``int``)Math.Pow(B, N); ` ` `  `    ``// count of permutations ` `    ``// with leading zeros ` `    ``int` `y = (``int``)Math.Pow(B, N - 1); ` ` `  `    ``// Return the permutations ` `    ``// without leading zeros ` `    ``Console.WriteLine(x - y); ` `} ` ` `  `// Driver code ` `public` `static` `void` `Main() ` `{ ` `    ``int` `N = 6; ` `    ``int` `B = 4; ` ` `  `    ``countPermutations(N, B); ` `} ` `} ` ` `  `// This code is contributed ` `// by Akanksha Rai(Abby_akku) `

PHP

 ` `

Output:

```3072
```

My Personal Notes arrow_drop_up

Article Tags :
Practice Tags :

Be the First to upvote.

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.