Open In App

Find the middle digit of a given Number

Last Updated : 20 Dec, 2022
Comments
Improve
Suggest changes
Like Article
Like
Report

Given a number N, the task is to find the middle digit of the given number N. If the number has two middle digits then print the first middle digit.

Examples:  

Input: N = 12345 
Output: 3

Input: N = 98562 
Output: 5  

Approach: The middle digit of any number N can be given by 

\left ( \frac{N}{10^{\frac{len}{2}}} \right )\ mod 10       

The length(len) of the given Number can be calculated as 
\left ( \log_{10} N \right ) + 1       

For example:  

If N = 12345 
len = (int)log10(12345) + 1 = 5 
Therefore, 
First half of N = N/105/2 = N/102 = 123 
Therefore middle digit of N = last digit of First half of N = (First half of N) % 10 = 123 % 10 = 3 

Below code is the implementation of the above approach: 

C++
// Program to find middle digit of number

#include <bits/stdc++.h>
using namespace std;

// Function to find the middle digit
int middleDigit(int n)
{
    // Find total number of digits
    int digits = (int)log10(n) + 1;

    // Find middle digit
    n = (int)(n / pow(10, digits / 2))
        % 10;

    // Return middle digit
    return n;
}

// Driver program
int main()
{
    // Given Number N
    int N = 98562;

    // Function call
    cout << middleDigit(N)
         << "\n";
    return 0;
}
Java
// Java program to find middle digit of number 
import java.util.*;
import java.io.*;
class GFG{

// Function to find the middle digit 
static int middleDigit(int n) 
{ 
    
    // Find total number of digits 
    int digits = (int)Math.log10(n) + 1; 

    // Find middle digit 
    n = (int)(n / Math.pow(10, digits / 2)) % 10; 

    // Return middle digit 
    return n; 
} 

// Driver Code
public static void main(String[] args)
{
    
    // Given number N
    int N = 98562;

    // Function call
    System.out.println(middleDigit(N));
}
}

// This code is contributed by rutvik_56    
Python3
# Python3 Program to find middle digit of number
import math

# Function to find the middle digit
def middleDigit(n):

    # Find total number of digits
    digits = math.log10(n) + 1;

    # Find middle digit
    n = int((n // math.pow(10, digits // 2))) % 10;

    # Return middle digit
    return n;

# Driver program

# Given Number N
N = 98562;

# Function call
print(middleDigit(N))

# This code is contributed by Code_Mech
C#
// C# program to find middle digit of number
using System;

class GFG{
    
// Function to find the middle digit 
static int middleDigit(int n) 
{ 
        
    // Find total number of digits 
    int digits = (int)Math.Log10(n) + 1; 
    
    // Find middle digit 
    n = (int)(n / Math.Pow(10, digits / 2)) % 10; 
    
    // Return middle digit 
    return n; 
} 

// Driver code
static void Main() 
{
        
    // Given number N 
    int N = 98562; 
    
    // Function call 
    Console.WriteLine(middleDigit(N)); 
}
}

// This code is contributed by divyeshrabadiya07    
JavaScript
<script>
// Program to find middle digit of number

// Function to find the middle digit
function middleDigit(n)
{
    // Find total number of digits 
    let digits = parseInt(Math.log10(n) + 1); 

    // Find middle digit 
    n = parseInt(parseInt(n / Math.pow(10, parseInt(digits / 2))) % 10); 

    // Return middle digit
    return n;
}

// Driver program
// Given Number N
let N = 98562;

// Function call
document.write(middleDigit(N));

// This code is contributed by subham348.
</script>

Output: 
5

 

Time Complexity: O(1)
Auxiliary Space: O(1)


Next Article

Similar Reads

  翻译: