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++
// 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 even string 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 code int main()
{ string N = "AB3454D" ;
cout << even_or_odd(N);
return 0;
} |
Java
// Java code to check if a HexaDecimal // number is Even or Odd 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.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 code public static void main(String[] args)
{ String N = "AB3454D" ;
System.out.print(even_or_odd(N));
} } // This code is contributed by 29AjayKumar |
Python 3
# Python code to check if a HexaDecimal # number is Even or Odd # Check if the number is odd or even def 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 code N = "AB3454D"
print (even_or_odd(N))
# This code is contributed by Atul_kumar_Shrivastava |
C#
// C# code to check if a HexaDecimal // number is Even or Odd using 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 |
Javascript
<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> |
Output:
Odd
Time complexity: O(1)
Auxiliary Space: O(1)
Recommended Articles