当前位置:首页 > 代码 > 正文

随机抽取数字代码(数字随机抽取器)

admin 发布:2022-12-19 19:37 169


本篇文章给大家谈谈随机抽取数字代码,以及数字随机抽取器对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

excel如何实现随机抽取且不重复

方法一:公式法

1、我们以生成1-10范围内的随机数字为例,讲述方法。

首先,在A2单元格中输入公式:=SMALL(IF(COUNTIF($A$1:A1,ROW($1:$11))=0,ROW($1:$11)),INT(RAND()*(11-ROW(A1))+1))

然后按下Ctrl+Shift+Enter三键结束数组公式。

2、然后,下拉填充公式到A12单元格,也就是填充11个单元格,为什么要填充11个呢,我们明明只要10个数字?这是因为,最后一个数字是不会变化的,所以呢,要生成10个随机数,需要填充11个单元格,同样的生成11个随机数的话,要填充12个单元格,除此之外,公式中的11还要改成12。

3、生成随机数后,每按下一次F9(或者其他单元格进行一次计算),随机数就会刷新一次,重新生成一组随机数,要注意喽!

4、好了,一组不重复的随机数字生成了,现在我们回头看看这个公式是怎么实现的吧。首先看Small函数的第一个参数,也就是数字区域,这里是利用if和Countif函数来实现此单元格上面的单元格区域,是否有当前单元格的数字,如果有,就返回False,而如果没有就返回这个数字,从而生成一组由上面单元格没有的数字和Flase组成的序列,下图是按F9得到的结果:

5、Small函数的第二个参数,也就是从这个序列中取第几个最小值,在得到的数字中,利用随机函数rand和row函数,实现在这有个个数中随机抽取一个数字,从而得到排序中这个数字顺序的一个数字。通过这样一个数组公式,就实现了生成一组不重复的随机数字啦。

方法二:VBA法

1、VBA功能强大,可以利用很多算法实现随机数。这里介绍一种简单的办法。首先在Excel中按下Alt+F11,打开VBE界面,双击要生成随机数的工作表,在右侧空白处需要输入代码。

输入代码如下:

Sub m()

Range("A:A").ClearContents'这里是A列,根据需要修改

For i = 1 To 10'这里是10个数字,根据需要修改

kkk:

Randomize

x = Int(Rnd * 10) + 1

If Application.CountIf(Range("A:A"), x) = 0 Then

Cells(i, 1) = x

Else

GoTo kkk

End If

Next i

End Sub

2、代码原理很简单,就是随机生成数字,如果A列中有了这个数字,就返回再次随机生成,一直到没有这个数字为止;利用循环生成制定数量的数字。

3、按下F5执行代码,就看到在对应的Sheet中的对应列,生成了一组随机的不重复的数字。

请问用java从1-33个整数中随机抽取6个数字 且不重复 1-16随机抽取一个数,给小球?

完整代码为:

public class Main {

public static void main(String[] args) {

int index = 1;

int[] redBalls = new int[6];

Random random = new Random();

boolean getMoreRed = true;

boolean getAgain;

System.out.println("开始抽取红球!");

while (getMoreRed) {

getAgain = false;

int red = random.nextInt(36) + 1;

System.out.print("本次抽取到的红球为:[" + red + "]!");

for (int i = 0; i index; i++) {

if (redBalls[i] == red) {

System.out.print("重复抽取,将重新抽取红球");

getAgain = true;

break;

}

}

System.out.println("");

if (getAgain){

continue;

}

redBalls[index - 1] = red;

index++;

getMoreRed = index 7;

}

System.out.println("抽取到的红球为:");

Arrays.sort(redBalls);

for (int redBall : redBalls) {

System.out.print(redBall + " ");

}

System.out.println("\n\n开始抽取蓝球!");

System.out.println("本次抽取到的蓝球为:[" + (random.nextInt(16) + 1) + "]!");

}

}

运行结果:

普通抽取:

重复时抽取:

急 VB随机抽取数字代码

在窗体上增加两个Command1和Command2,一个文本框Text1和一个时间控件Timer1,代码如下:Private Sub Command1_Click() '开始抽奖

If Command1.Caption = "开始" Then '判断按钮是否为开始

Command1.Caption = "停止" '是则更改按钮为停止

Timer1.Enabled = True '开启时钟

Else

If Command1.Caption = "停止" Then '否则判断按钮是否是停止

Timer1.Enabled = False '是则停止时间控件

Command1.Caption = "开始" '将Command1更改成开始

End If

End If

End SubPrivate Sub Command2_Click() '清空文本框内容

Text1.Text = ""

End SubPrivate Sub Form_Load() '窗体加载事件对一些控件进行初始化

Text1.Text = "" '清空文本框内容

Timer1.Interval = 10 '设置时间控件周期为10ms

Timer1.Enabled = False '默认时间控件不开启

Command1.Caption = "开始" '默认Command1的名称为开始

Command2.Caption = "清空" '默认Command1的名称为清空End Sub Private Sub Timer1_Timer() '时间控件事件执行滚动随机提取数据

Text1.Text = Int((42 - 1 + 1) * Rnd + 1) '随机数读取方法:Int((upperbound(上限) - lowerbound(下限) + 1) * Rnd + lowerbound)

End Sub

随机抽取数字代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于数字随机抽取器、随机抽取数字代码的信息别忘了在本站进行查找喔。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/20853.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载