Comprobar si un número hexadecimal es par o impar

Dado un número hexadecimal, comprueba si es par o impar.
Ejemplos: 
 

Input: N = ABC7787CC87AA
Output: Even

Input: N = 9322DEFCD
Output: Odd

Enfoque ingenuo: 
 

Complejidad de tiempo: O(N)
Enfoque eficiente: dado que los números hexadecimales contienen dígitos del 0 al 15, simplemente podemos verificar si el último dígito es ‘0’, ‘2’, ‘4’, ‘6’, ‘8’ , ‘A'(=10), ‘C'(=12) o ‘E'(=14) . Si es así, entonces el número hexadecimal dado será par, de lo contrario impar.
A continuación se muestra la implementación del enfoque anterior. 
 

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>
Producción: 

Odd

 

Complejidad del tiempo: O(1)

Espacio Auxiliar: O(1)

Publicación traducida automáticamente

Artículo escrito por ApurvaRaj y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *