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

• Last Updated : 25 May, 2021

Given a 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:

Attention reader! Don’t stop learning now. Get hold of all the important mathematical concepts for competitive programming with the Essential Maths for CP Course at a student-friendly price. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

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

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

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, the total number of ‘N’ digit numbers with base ‘B’ possible without leading zeros are B – B .

Below is the implementation of the 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``    ``# with leading zeros``    ``y ``=` `B ``*``*` `(N ``-` `1``)` `    ``# Return the permutations``    ``# without leading zeros``    ``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

 ``

## Javascript

 ``
Output:
`3072`

My Personal Notes arrow_drop_up