# Number of digits in 2 raised to power n

• Difficulty Level : Medium
• Last Updated : 06 Apr, 2021

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.```

We can write 2n using logarithms as:

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.

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

 ``

## Javascript

 ``

Output:

`2`

Time Complexity: O(n)

Auxiliary Space: O(1)

My Personal Notes arrow_drop_up