📜  生成 N 个随机十六进制数

📅  最后修改于: 2022-05-13 01:56:08.173000             🧑  作者: Mango

生成 N 个随机十六进制数

给定一个正整数N ,任务是生成N个随机十六进制整数。

例子:

方法:给定的问题可以借助用于生成随机整数的 rand()函数来解决。可以创建一个字符数组,它以十六进制表示法存储所有可能的字符,并从数组中随机选择字符。

下面是上述方法的实现:

C++
// C++ program for the above approach
 
#include 
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


输出:
B71C3
EC3BBC90
82410C0D

时间复杂度: O(N*M) 其中 M 表示随机字符串的最大长度。
辅助空间: O(1)