Check if a HexaDecimal number is Even or Odd - GeeksforGeeks

28 Apr, 2021
Given a HexaDecimal number, check whether it is even or odd.Examples:  
Input: N = ABC7787CC87AA
Output: Even

Input: N = 9322DEFCD
Output: Odd
 
Naive Approach:  
Convert the number from Hexadecimal base to Decimal base.
Then check if the number is even or odd, which can be easily checked by dividing by 2.
Time Complexity: O(N)Efficient approach: Since Hexadecimal numbers contain digits from 0 to 15, therefore we can simply check if the last digit is either ‘0’, ‘2’, ‘4’, ‘6’, ‘8’, ‘A'(=10), ‘C'(=12) or ‘E'(=14). If it is, then the given HexaDecimal number will be Even, else Odd.Below is the implementation of the above approach.  
C++
Java
Python 3
C#
Javascript
// C++ code to check if a HexaDecimal// number is Even or Odd #include <bits/stdc++.h>using namespace std; // Check if the number is odd or evenstring even_or_odd(string N){    int len = N.size();     // check if the last digit    // is either '0', '2', '4',    // '6', '8', 'A'(=10),    // 'C'(=12) or 'E'(=14)    if (N[len - 1] == '0'        || N[len - 1] == '2'        || N[len - 1] == '4'        || N[len - 1] == '6'        || N[len - 1] == '8'        || N[len - 1] == 'A'        || N[len - 1] == 'C'        || N[len - 1] == 'E')        return ("Even");    else        return ("Odd");} // Driver codeint main(){    string N = "AB3454D";     cout << even_or_odd(N);     return 0;}
// Java code to check if a HexaDecimal// number is Even or Oddclass GFG{  // Check if the number is odd or evenstatic String even_or_odd(String N){    int len = N.length();      // check if the last digit    // is either '0', '2', '4',    // '6', '8', 'A'(=10),    // 'C'(=12) or 'E'(=14)    if (N.charAt(len - 1) == '0'        || N.charAt(len - 1) == '2'        || N.charAt(len - 1) == '4'        || N.charAt(len - 1) == '6'        || N.charAt(len - 1) == '8'        || N.charAt(len - 1) == 'A'        || N.charAt(len - 1) == 'C'        || N.charAt(len - 1) == 'E')        return ("Even");    else        return ("Odd");}  // Driver codepublic static void main(String[] args){    String N = "AB3454D";    System.out.print(even_or_odd(N));}} // This code is contributed by 29AjayKumar
# Python code to check if a HexaDecimal# number is Even or Odd # Check if the number is odd or evendef even_or_odd(N):    l = len(N)     # check if the last digit    # is either '0', '2', '4',    # '6', '8', 'A'(=10),    # 'C'(=12) or 'E'(=14)    if (N[l - 1] == '0'or N[l - 1] == '2'or        N[l - 1] == '4'or N[l - 1] == '6'or        N[l - 1] == '8'or N[l - 1] == 'A'or        N[l - 1] == 'C'or N[l - 1] == 'E'):        return ("Even")    else:        return ("Odd") # Driver codeN = "AB3454D" print(even_or_odd(N)) # This code is contributed by Atul_kumar_Shrivastava
// C# code to check if a HexaDecimal// number is Even or Oddusing System; public class GFG{     // Check if the number is odd or even    static string even_or_odd(string N)    {        int len = N.Length;             // check if the last digit        // is either '0', '2', '4',        // '6', '8', 'A'(=10),        // 'C'(=12) or 'E'(=14)        if (N[len - 1] == '0'            || N[len - 1] == '2'            || N[len - 1] == '4'            || N[len - 1] == '6'            || N[len - 1] == '8'            || N[len - 1] == 'A'            || N[len - 1] == 'C'            || N[len - 1] == 'E')            return ("Even");        else            return ("Odd");    }         // Driver code    static public void Main ()    {        string N = "AB3454D";             Console.WriteLine(even_or_odd(N));    }} // This code is contributed by shubhamsingh10
<script> // Javascript code to check if a HexaDecimal// number is Even or Odd     // Check if the number is odd or even    function even_or_odd(N)    {        let len = N.length;               // check if the last digit        // is either '0', '2', '4',        // '6', '8', 'A'(=10),        // 'C'(=12) or 'E'(=14)        if (N[len - 1] == '0'            || N[len - 1] == '2'            || N[len - 1] == '4'            || N[len - 1] == '6'            || N[len - 1] == '8'            || N[len - 1] == 'A'            || N[len - 1] == 'C'            || N[len - 1] == 'E')            return ("Even");        else            return ("Odd");    } // Driver Code     let N = "AB3454D";           document.write(even_or_odd(N)); </script>
Odd
 
Atul_kumar_Shrivastava
29AjayKumar
SHUBHAMSINGH10
chinmoy1997pal
Mathematical
School Programming
Mathematical
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Program to print prime numbers from 1 to N.
Segment Tree | Set 1 (Sum of given range)
Modular multiplicative inverse
Count all possible paths from top left to bottom right of a mXn matrix
Fizz Buzz Implementation
Python Dictionary
Arrays in C/C++
Inheritance in C++
Reverse a string in Java
C++ Classes and Objects