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.

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++

filter_none

edit
close

play_arrow

link
brightness_4
code

// CPP program to find number of digits
// in 2^n
#include <bits/stdc++.h>
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;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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)

chevron_right


PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
// PHP program to find 
// number of digits in 2^n
  
// Function to find number 
// of digits in 2^n
function countDigits($n)
{
    return intval($n * log10(2) + 1);
}
  
// Driver code
$n = 5;
echo (countDigits($n));
  
// This code is contributed by 
// Manish Shaw(manishshaw1)
?>

chevron_right



Output:

2


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.