要生成一个不重复的随机数列表,你可以使用多种编程语言中的库或内置函数来实现。以下是一些常见编程语言中的实现方法:
import random
def generate_unique_random_numbers(n, start, end):
if n > (end - start + 1):
raise ValueError("Cannot generate more unique numbers than the range allows.")
numbers = set()
while len(numbers) < n:
numbers.add(random.randint(start, end))
return list(numbers)
# 使用示例
unique_random_numbers = generate_unique_random_numbers(10, 1, 100)
print(unique_random_numbers)
function generateUniqueRandomNumbers(n, start, end) {
if (n > (end - start + 1)) {
throw new Error("Cannot generate more unique numbers than the range allows.");
}
const numbers = new Set();
while (numbers.size < n) {
numbers.add(Math.floor(Math.random() * (end - start + 1)) + start);
}
return Array.from(numbers);
}
// 使用示例
const uniqueRandomNumbers = generateUniqueRandomNumbers(10, 1, 100);
console.log(uniqueRandomNumbers);
import java.util.HashSet;
import java.util.Random;
import java.util.Set;
public class UniqueRandomNumbers {
public static int[] generateUniqueRandomNumbers(int n, int start, int end) {
if (n > (end - start + 1)) {
throw new IllegalArgumentException("Cannot generate more unique numbers than the range allows.");
}
Set<Integer> numbers = new HashSet<>();
Random random = new Random();
while (numbers.size() < n) {
numbers.add(random.nextInt(end - start + 1) + start);
}
int[] result = new int[n];
int i = 0;
for (int number : numbers) {
result[i++] = number;
}
return result;
}
public static void main(String[] args) {
int[] uniqueRandomNumbers = generateUniqueRandomNumbers(10, 1, 100);
for (int number : uniqueRandomNumbers) {
System.out.print(number + " ");
}
}
}
以上示例代码和解释应该能帮助你理解如何生成不重复的随机数列表,并解决可能遇到的问题。
领取专属 10元无门槛券
手把手带您无忧上云