1. 用一门高级编程语言生成0~999 999(均包含,或者更大范围)之间的随机整数20 000个,要求随机数都不相同(如相同,则需要去重复并重新生成当前随机数),即,得到20 000个两两不同的随机数。
时间: 2024-02-13 19:07:33 浏览: 162
好的,我可以为您编写一个Python程序来生成20,000个不同的随机数。您可以尝试以下代码:
```python
import random
random_numbers = set()
while len(random_numbers) < 20000:
random_numbers.add(random.randint(0, 999999))
random_numbers = list(random_numbers)
print(random_numbers)
```
这个程序使用了Python的`random`模块来生成随机数,并使用了一个`set`来去重复。只要`set`中的元素数量不足20000,就继续生成随机数并加入到`set`中。最后将`set`转换为一个`list`,就得到了20,000个不同的随机数。
请注意,这个程序使用了Python的内置随机数生成器,如果您需要生成更加安全的随机数,可以考虑使用`secrets`模块。
相关问题
代码生成( 用一门高级编程语言生成0~999 999(均包含,或者更大范围)之间的随机整数20 000个,要求随机数都不相同(如相同,则需要去重复并重新生成当前随机数),即,得到20 000个两两不同的随机数。)
以下是用 Python 生成20,000个不重复的随机整数的代码:
```python
import random
random_set = set()
while len(random_set) < 20000:
random_set.add(random.randint(0, 999999))
random_list = list(random_set)
```
首先,我们创建一个空的 set 对象 `random_set` 来存储随机数。然后,我们使用 `random.randint()` 函数来生成从 0 到 999,999 之间的随机整数,并将其添加到 `random_set` 中。由于 set 对象只能存储唯一值,因此我们可以确保所有生成的随机数都是不同的。
最后,我们将 set 转换为 list 并将其存储在 `random_list` 中,以便进一步处理和使用。
代码生成(用C语言写一个用一门高级编程语言生成0~999 999(均包含,或者更大范围)之间的随机整数20 000个,要求随机数都不相同(如相同,则需要去重复并重新生成当前随机数),即,得到20 000个两两不同的随机数。)
以下是一个用C语言实现的生成随机数的代码,使用了线性同余法生成随机数,并使用了哈希表去重:
```c
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#define MAX_LENGTH 20000
#define MOD 1000000
bool hash[MOD] = {false};
int main() {
int random_nums[MAX_LENGTH];
int cnt = 0;
int a = 1664525, c = 1013904223;
int x = rand() % MOD;
while (cnt < MAX_LENGTH) {
x = (a * x + c) % MOD;
if (!hash[x]) {
hash[x] = true;
random_nums[cnt++] = x;
}
}
for (int i = 0; i < MAX_LENGTH; i++) {
printf("%d ", random_nums[i]);
}
printf("\n");
return 0;
}
```
其中,a和c分别为线性同余法的参数,x为当前随机数,使用哈希表来判断随机数是否重复。
阅读全文