生成 N 个随机十六进制数
给定一个正整数N ,任务是生成N个随机十六进制整数。
例子:
Input: N = 3
Output:
F9AD0D9
E19B24CD01
A5E
方法:给定的问题可以借助用于生成随机整数的 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)