从1~30之间随机抽取9个不重复的数字。
时间: 2024-02-13 14:07:32 浏览: 45
好的,我可以帮您生成9个不重复的1到30之间的随机数字。以下是可能的一种实现方式:
```python
import random
nums = random.sample(range(1, 31), 9)
print(nums)
```
这个程序会在1到30之间随机选择9个不重复的数字,并输出结果。希望能够帮到您!
相关问题
java 从1~30之间随机抽取9个不重复的数字。
好的,以下是 Java 的实现方式:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public class RandomNumbers {
public static void main(String[] args) {
List<Integer> nums = new ArrayList<>();
Random random = new Random();
while (nums.size() < 9) {
int num = random.nextInt(30) + 1;
if (!nums.contains(num)) {
nums.add(num);
}
}
System.out.println(nums);
}
}
```
这个程序使用了一个 List 来存储随机生成的数字,然后用 while 循环生成随机数并判断是否已经存在于 List 中,如果不存在则加入 List 中,直到 List 中有9个数字为止。最后输出 List 即可。
希望这个程序能够帮到您!
编写一个c语言程序,在1~41之间随机抽取20个不重复的数字。
好的,我可以帮你解决这个问题。下面是C语言程序的代码实现:
```
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define N 20 //抽取数量为20
int main()
{
int a[41], i = 1, j, k; //定义数组a、计数器i、随机数j和循环变量k
srand((unsigned)time(NULL)); //设置随机数种子
for (i = 1; i <= 41; i++) //初始化数组a
a[i] = i;
for (i = 1; i <= N; i++) //循环抽取N个不重复的数
{
j = rand() % (41 - i) + 1; //生成随机数j
printf("%d ", a[j]); //输出抽中的数字
for (k = j; k < 41; k++) //去掉数组a[j],将数组a[j+1]~a[41]左移
a[k] = a[k + 1];
}
printf("\n"); //输出换行符,美化输出结果
system("pause");
return 0;
}
```
程序的功能是在1~41之间随机抽取不重复的20个数字,并输出这20个数字。程序中采用Fisher–Yates随机置乱算法来实现抽取,抽取时将已抽中的数字从数组中剔除,保证抽取到的数字不重复。
相关推荐
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)