Comprobar si una string representa un número hexadecimal o no

Dada una string alfanumérica S de longitud N , la tarea es verificar si la string dada representa un número hexadecimal o no. Escriba si representa un número hexadecimal. De lo contrario , imprima No.

Ejemplos:

Entrada: S = “BF57C” 
Salida: Sí 
Explicación: 
Representación decimal de la string dada = 783740

Entrada: S = “58GK” 
Salida: No

Enfoque: El enfoque se basa en la idea de que todos los elementos de un número hexadecimal se encuentran entre los caracteres A a F o entre los números enteros 0 a 9 . A continuación se muestran los pasos para resolver el problema:

  1. Iterar sobre la string dada .
  2. Compruebe si cada carácter de la string está entre los caracteres A y F o entre 0 y 9.
  3. Si se encuentra que es cierto, escriba .
  4. De lo contrario , imprima No.

A continuación se muestra la implementación del enfoque anterior:

C++

// C++ implementation of the above approach
#include <bits/stdc++.h>
using namespace std;
 
// Function to check if the string
// represents a hexadecimal number
void checkHex(string s)
{
     
    // Size of string
    int n = s.length();
 
    // Iterate over string
    for(int i = 0; i < n; i++)
    {
        char ch = s[i];
 
        // Check if the character
        // is invalid
        if ((ch < '0' || ch > '9') &&
            (ch < 'A' || ch > 'F'))
        {
            cout << "No" << endl;
            return;
        }
    }
 
    // Print true if all
    // characters are valid
    cout << "Yes" << endl;
}
 
// Driver code    
int main()
{
     
    // Given string
    string s = "BF57C";
 
    // Function call
    checkHex(s);
 
    return 0;
}
 
// This code is contributed by divyeshrabadiya07

Java

// Java implementation of the above approach
 
import java.util.*;
import java.io.*;
 
class GFG {
 
    // Function to check if the string
    // represents a hexadecimal number
    public static void checkHex(String s)
    {
        // Size of string
        int n = s.length();
 
        // Iterate over string
        for (int i = 0; i < n; i++) {
 
            char ch = s.charAt(i);
 
            // Check if the character
            // is invalid
            if ((ch < '0' || ch > '9')
                && (ch < 'A' || ch > 'F')) {
 
                System.out.println("No");
                return;
            }
        }
 
        // Print true if all
        // characters are valid
        System.out.println("Yes");
    }
 
    // Driver Code
    public static void main(String[] args)
    {
        // Given string
        String s = "BF57C";
 
        // Function Call
        checkHex(s);
    }
}

Python3

# Python3 implementation of the
# above approach
 
# Function to check if the string
# represents a hexadecimal number
def checkHex(s):
   
    # Iterate over string
    for ch in s:
 
        # Check if the character
        # is invalid
        if ((ch < '0' or ch > '9') and
            (ch < 'A' or ch > 'F')):
                 
            print("No")
            return
         
    # Print true if all
    # characters are valid
    print("Yes")
 
# Driver Code
     
# Given string
s = "BF57C"
  
# Function call
checkHex(s)
 
# This code is contributed by extragornax

C#

// C# implementation of
// the above approach
using System;
class GFG{
 
// Function to check if the string
// represents a hexadecimal number
public static void checkHex(String s)
{
  // Size of string
  int n = s.Length;
 
  // Iterate over string
  for (int i = 0; i < n; i++)
  {
    char ch = s[i];
 
    // Check if the character
    // is invalid
    if ((ch < '0' || ch > '9') &&
        (ch < 'A' || ch > 'F'))
    {
      Console.WriteLine("No");
      return;
    }
  }
 
  // Print true if all
  // characters are valid
  Console.WriteLine("Yes");
}
 
// Driver Code
public static void Main(String[] args)
{
  // Given string
  String s = "BF57C";
 
  // Function Call
  checkHex(s);
}
}
 
// This code is contributed by gauravrajput1

Javascript

<script>
 
// JavaScript implementation of the
// above approach
 
// Function to check if the string
// represents a hexadecimal number
function checkHex(s)
{
     
    // Size of string
    let n = s.length;
 
    // Iterate over string
    for(let i = 0; i < n; i++)
    {
        let ch = s[i];
 
        // Check if the character
        // is invalid
        if ((ch < '0' || ch > '9') &&
            (ch < 'A' || ch > 'F'))
        {
            document.write("No");
            return;
        }
    }
 
    // Print true if all
    // characters are valid
    document.write("Yes");
}
 
// Driver code
 
// Given string
let s = "BF57C";
 
// Function Call
checkHex(s);
 
// This code is contributed by souravghosh0416
 
</script>
Producción: 

Yes

Complejidad temporal: O(N) 
Espacio auxiliar: O(1)

Publicación traducida automáticamente

Artículo escrito por kunalsg18elec 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 *