# Find the total count of numbers up to N digits in a given base B

• Last Updated : 05 Apr, 2021

Given two integers N and B, the task is to find the count of natural numbers of Base B up to N digits.

Examples:

Input: N = 2, B = 10
Output: 99
Explanation:
1, 2, 3, 4, 5, 6, 7, 8, 9 are 1 digit Natural numbers of Base 10.
10, 11, 12………99 are 2 digit Natural numbers of Base 10
So, total = 9 + 90 = 99

Input: N = 2, B = 16
Output: 255
Explanation:
There are a total of 240 two digit hexadecimal numbers and 15 one digit hexadecimal numbers.
Therefore, 240 + 15 = 255.

Approach: On observing carefully the count of numbers with N digits in base B is a geometric progression formed with the first term being (B – 1) and a common ratio of B.
Therefore,

Nth term = Number of natutal numbers of N digits in Base B = (B – 1) * BN – 1

Finally, count of all natural numbers in Base B up to N digits can be found out by iterating a loop from 1 to N and calculating the sum of ith term using the above formula.

Below is the implementation of the above approach:

## C++

 `// C++ implementation to find the count` `// of natural numbers upto N digits`   `#include `   `using` `namespace` `std;`   `// Function to return the count of` `// natural numbers upto N digits` `int` `count(``int` `N, ``int` `B)` `{` `    ``int` `sum = 0;`   `    ``// Loop to iterate from 1 to N` `    ``// and calculating number of` `    ``// natural numbers for every 'i'th digit.` `    ``for` `(``int` `i = 1; i <= N; i++) {` `        ``sum += (B - 1) * ``pow``(B, i - 1);` `    ``}` `    ``return` `sum;` `}`   `// Driver Code` `int` `main()` `{` `    ``int` `N = 2, B = 10;` `    ``cout << count(N, B);`   `    ``return` `0;` `}`

## Java

 `// Java implementation to find the count` `// of natural numbers upto N digits`   `class` `GFG{`   `// Function to return the count of` `// natural numbers upto N digits` `static` `int` `count(``int` `N, ``int` `B)` `{` `    ``int` `sum = ``0``;`   `    ``// Loop to iterate from 1 to N` `    ``// and calculating number of` `    ``// natural numbers for every 'i'th digit.` `    ``for` `(``int` `i = ``1``; i <= N; i++){` `        ``sum += (B - ``1``) * Math.pow(B, i - ``1``);` `    ``}` `    ``return` `sum;` `}`   `// Driver Code` `public` `static` `void` `main(String[] args)` `{` `    ``int` `N = ``2``, B = ``10``;` `    ``System.out.print(count(N, B));` `}` `}`   `// This code is contributed by gauravrajput1`

## Python3

 `# Python3 implementation to find the count` `# of natural numbers up to N digits`   `from` `math ``import` `pow`   `# Function to return the count of` `# natural numbers upto N digits` `def` `count(N, B):` `    ``sum` `=` `0`   `    ``# Loop to iterate from 1 to N` `    ``# and calculating number of` `    ``# natural numbers for every 'i'th digit.` `    ``for` `i ``in` `range``(``1``, N``+``1``):` `        ``sum` `+``=` `(B ``-` `1``) ``*` `pow``(B, i ``-` `1``)` `    ``return` `sum`   `# Driver Code` `if` `__name__ ``=``=` `'__main__'``:` `    ``N ``=` `2` `    ``B ``=` `10` `    ``print``(``int``(count(N, B)))`   `# This code is contributed by Bhupendra_Singh`

## C#

 `// C# implementation to find the count` `// of natural numbers upto N digits` `using` `System;` `using` `System.Collections.Generic;` `class` `GFG{`   `// Function to return the count of` `// natural numbers upto N digits` `static` `int` `count(``int` `N, ``int` `B)` `{` `    ``int` `sum = 0;`   `    ``// Loop to iterate from 1 to N` `    ``// and calculating number of` `    ``// natural numbers for every ` `    ``// 'i'th digit.` `    ``for``(``int` `i = 1; i <= N; i++)` `    ``{` `       ``sum += (``int``)((B - 1) * Math.Pow(B, i - 1));` `    ``}` `    ``return` `sum;` `}`   `// Driver Code` `public` `static` `void` `Main(String[] args)` `{` `    ``int` `N = 2, B = 10;` `    `  `    ``Console.Write(count(N, B));` `}` `}`   `// This code is contributed by amal kumar choubey`

## Javascript

 ``

Output:

`99`

Time Complexity: O(N)

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.

My Personal Notes arrow_drop_up
Recommended Articles
Page :