# Number of digits in 2 raised to power n

Let n be any power raised to base 2 i.e 2n. We are given the number n and our task is to find out the number of digits contained in the number 2n.

Examples:

```Input : n = 5
Output : 2
Explanation : 2n = 32, which has only
2 digits.

Input : n = 10
Output : 4
Explanation : 2n = 1024, which has only
4 digits.
```

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

We can write 2n using logarithms as:

2n = 10nlog102

Now suppose, x = nlog102,
Therefore, 2n = 10x

Also, we all know that the number, 10n will have (n+1) digits. Therefore, 10x will have (x+1) digits.

Or, we can say that 2n will have (x+1) digits as 2n = 10x.

Therefore, number of digits in 2n = (nlog102) + 1

Below is the implementation of above idea:

## C++

 `// CPP program to find number of digits ` `// in 2^n ` `#include ` `using` `namespace` `std; ` ` `  `// Function to find number of digits ` `// in 2^n ` `int` `countDigits(``int` `n) ` `{ ` `    ``return` `(n * ``log10``(2) + 1); ` `} ` ` `  `// Driver code ` `int` `main() ` `{ ` `    ``int` `n = 5; ` `    ``cout << countDigits(n) << endl; ` `    ``return` `0; ` `} `

## Java

 `// Java program to find number  ` `// of digits in 2^n ` `import` `java.util.*; ` ` `  `class` `Gfg  ` `{ ` `    ``// Function to find number of digits ` `    ``// in 2^n ` `    ``static` `int` `countDigits(``int` `n) ` `    ``{ ` `        ``return` `(``int``)(n * Math.log10(``2``) + ``1``); ` `    ``} ` `     `  `    ``// Driver Code ` `    ``public` `static` `void` `main(String args[]) ` `    ``{ ` `        ``int` `n = ``5``; ` `        ``System.out.println(countDigits(n)); ` `    ``} ` `} ` ` `  `// This code is contributed by Niraj_Pandey. `

## Python3

 `# Python3 program to find  ` `# number of digits in 2^n ` `import` `math ` ` `  `# Function to find number  ` `# of digits in 2^n ` `def` `countDigits(n): ` `    ``return` `int``(n ``*` `math.log10(``2``) ``+` `1``); ` ` `  `# Driver code ` `n ``=` `5``; ` `print``(countDigits(n)); ` ` `  `# This code is contributed  ` `# by mits `

## C#

 `// C# program to find number  ` `// of digits in 2^n ` `using` `System; ` ` `  `class` `GFG ` `{ ` `    ``// Function to find  ` `    ``// number of digits in 2^n ` `    ``static` `int` `countDigits(``int` `n) ` `    ``{ ` `        ``return` `(``int``)(n * Math.Log10(2) + 1); ` `    ``} ` `     `  `    ``// Driver code ` `    ``static` `void` `Main() ` `    ``{ ` `        ``int` `n = 5; ` `        ``Console.Write(countDigits(n)); ` `    ``} ` `} ` `// This code is contributed by  ` `// Manish Shaw(manishshaw1) `

## PHP

 ` `

Output:

```2
```

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.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.

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.