Genera N números hexadecimales aleatorios

Dado un entero positivo N , la tarea es generar N enteros hexadecimales aleatorios .

Ejemplos:

Entrada: N = 3
Salida:
F9AD0D9
E19B24CD01
A5E

 

Enfoque: El problema dado se puede resolver con la ayuda de la función rand() que se utiliza para generar números enteros aleatorios. Se puede crear una array de caracteres que almacene todos los caracteres posibles en la notación hexadecimal y seleccionar aleatoriamente los caracteres de la array.

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

C++

// C++ program for the above approach
 
#include <bits/stdc++.h>
using namespace std;
 
// Maximum length of the random integer
const int maxSize = 10;
 
// Function to generate N Hexadecimal
// integers
void randomHexInt(int N)
{
    srand(time(0));
 
    // Stores all the possible characters
    // in the Hexadecimal notation
    char hexChar[]
        = { '0', '1', '2', '3', '4', '5',
            '6', '7', '8', '9', 'A', 'B',
            'C', 'D', 'E', 'F' };
 
    // Loop to print N integers
    for (int i = 0; i < N; i++) {
 
        // Randomly select length of the
        // int in the range [1, maxSize]
        int len = rand() % maxSize + 1;
 
        // Print len characters
        for (int j = 0; j < len; j++) {
 
            // Print a randomly selected
            // character
            cout << hexChar[rand() % 16];
        }
        cout << '\n';
    }
}
 
// Driver Code
int main()
{
    int N = 3;
    randomHexInt(N);
 
    return 0;
}

Java

// Java program for the above approach
class GFG{
     
// Maximum length of the random integer
static int maxSize = 10;
 
// Function to generate N Hexadecimal
// integers
static void randomHexInt(int N)
{
     
    // Stores all the possible characters
    // in the Hexadecimal notation
    char hexChar[]
        = { '0', '1', '2', '3', '4', '5',
            '6', '7', '8', '9', 'A', 'B',
            'C', 'D', 'E', 'F' };
 
    // Loop to print N integers
    for (int i = 0; i < N; i++) {
 
        // Randomly select length of the
        // int in the range [1, maxSize]
        int len = (1 + (int)(Math.random() * 100)) % maxSize + 1;
 
        // Print len characters
        for (int j = 0; j < len; j++) {
 
            // Print a randomly selected
            // character
            System.out.print(hexChar[(1 + (int)(Math.random() * 100)) % 16]);
        }
        System.out.println();
    }
}
 
 
// Driver Code
public static void main (String[] args)
{
    int N = 3;
    randomHexInt(N);
}
}
 
// This code is contributed by sanjoy_62.

Python3

# Python3 program for the above approach
import random,math
 
# Maximum length of the random integer
maxSize = 10;
 
# Function to generate N Hexadecimal
# integers
def randomHexInt(N) :
 
    # Stores all the possible characters
    # in the Hexadecimal notation
    hexChar = [ '0', '1', '2', '3', '4', '5',
            '6', '7', '8', '9', 'A', 'B',
            'C', 'D', 'E', 'F'];
 
    # Loop to print N integers
    for i in range(N) :
 
        # Randomly select length of the
        # int in the range [1, maxSize]
        Len = math.floor(random.random() * (maxSize - 1) + 1)
 
        # Print len characters
        for j in range(Len) :
 
            # Print a randomly selected
            # character
            print(hexChar[math.floor(random.random() * 16)],end = "");
 
        print();
 
# Driver Code
if __name__ == "__main__" :
 
    N = 3;
    randomHexInt(N);
 
    # This code is contributed by AnkThon

C#

// C# program for the above approach
using System;
using System.Collections.Generic;
using System.Linq;
 
public class GFG {
     
// Maximum length of the random integer
static int maxSize = 10;
 
// Function to generate N Hexadecimal
// integers
static void randomHexInt(int N)
{
     
    // Stores all the possible characters
    // in the Hexadecimal notation
    char[] hexChar
        = { '0', '1', '2', '3', '4', '5',
            '6', '7', '8', '9', 'A', 'B',
            'C', 'D', 'E', 'F' };
             
    // For random generator
    Random rand = new Random();
 
    // Loop to print N integers
    for (int i = 0; i < N; i++) {
 
        // Randomly select length of the
        // int in the range [1, maxSize]
        int len = rand.Next() % maxSize + 1;
 
        // Print len characters
        for (int j = 0; j < len; j++) {
 
            // Print a randomly selected
            // character
            Console.Write(hexChar[rand.Next() % 16]);
        }
        Console.WriteLine();
    }
}
 
// Driver Code
public static void Main (string[] args) {
     
    int N = 3;
    randomHexInt(N);
}
}
 
// This code is contributed by code_hunt.

Javascript

<script>
        // JavaScript Program to implement
        // the above approach
 
        // Maximum length of the random integer
        const maxSize = 10;
 
        // Function to generate N Hexadecimal
        // integers
        function randomHexInt(N) {
 
            // Stores all the possible characters
            // in the Hexadecimal notation
            let hexChar
                = ['0', '1', '2', '3', '4', '5',
                    '6', '7', '8', '9', 'A', 'B',
                    'C', 'D', 'E', 'F'];
 
            // Loop to print N integers
            for (let i = 0; i < N; i++) {
 
                // Randomly select length of the
                // int in the range [1, maxSize]
                let len = Math.random() * (maxSize - 1) + 1;
 
                // Print len characters
                for (let j = 0; j < len; j++) {
 
                    // Print a randomly selected
                    // character
                    document.write(hexChar[Math.floor(Math.random() * (16))]);
                }
                document.write("<br>")
            }
        }
 
        // Driver Code
        let N = 3;
        randomHexInt(N);
 
// This code is contributed by Potta Lokesh
    </script>
Producción: 

B71C3
EC3BBC90
82410C0D

 

Complejidad de tiempo: O(N*M) donde M representa la longitud máxima de la string aleatoria.
Espacio Auxiliar: O(1)

Publicación traducida automáticamente

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