Given a HexaDecimal number, check whether it is even or odd.
Examples:
Input: N = ABC7787CC87AA
Output: Even
Input: N = 9322DEFCD
Output: Odd
Naive Approach:
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++
#include <bits/stdc++.h>
using namespace std;
string even_or_odd(string N)
{
int len = N.size();
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" );
}
int main()
{
string N = "AB3454D" ;
cout << even_or_odd(N);
return 0;
}
|
Java
class GFG{
static String even_or_odd(String N)
{
int len = N.length();
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" );
}
public static void main(String[] args)
{
String N = "AB3454D" ;
System.out.print(even_or_odd(N));
}
}
|
Python 3
def even_or_odd(N):
l = len (N)
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" )
N = "AB3454D"
print (even_or_odd(N))
|
C#
using System;
public class GFG{
static string even_or_odd( string N)
{
int len = N.Length;
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" );
}
static public void Main ()
{
string N = "AB3454D" ;
Console.WriteLine(even_or_odd(N));
}
}
|
Javascript
<script>
function even_or_odd(N)
{
let len = N.length;
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" );
}
let N = "AB3454D" ;
document.write(even_or_odd(N));
</script>
|
Time complexity: O(1)
Auxiliary Space: O(1)
Feeling lost in the world of random DSA topics, wasting time without progress? It's time for a change! Join our DSA course, where we'll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 geeks!
Last Updated :
17 Jul, 2022
Like Article
Save Article