Dado un número hexadecimal, comprueba si es par o impar.
Ejemplos:
Input: N = ABC7787CC87AA Output: Even Input: N = 9322DEFCD Output: Odd
Enfoque ingenuo:
- Convierte el número de base hexadecimal a base decimal .
- Luego verifica si el número es par o impar , lo cual se puede verificar fácilmente dividiendo por 2.
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)