首页 > 用户投稿

怎么用记事本写代码 如何生成一定范围内不重复的随机数?

如何生成一定范围内不重复的随机数?

c语言生成随机数函数。rand()的头文件是stdlib。h

2。在[m,n]范围内生成随机数的语句:rand()%(n-m1)m

3。生成不同随机数范围的方法:

保存获得的随机数。生成一个新的随机数后,将其与获得的随机数进行比较。如果存在,则丢弃它,否则保存它。

怎么用记事本写代码 如何生成一定范围内不重复的随机数?

因此,我们可以得到不同随机数的函数,最小数为m,最大数为n,总数为k,可以写成:

voidgetuurand(int*a,intm,intn,intk)//结果存在于a{inti,j,tfor(i=0,i<k){t=rand()%(n-m1)mfor(j=0,j<i,j)if(a[j]==t)breakif(j==i)//不要重复a[i]=t//记录随机数。}}

c语言:如何产生不重复的随机数字?

保存生成的随机数,然后在获得新的随机数时,将其与以前保存的值进行比较。如果它已经出现,则丢弃并再次获得,直到获得不同的随机值。

以获取10个0到100之间的非重复随机数为例,代码如下:

#include

#include

#include

intmain()

{

intlist[10],i,j,a

srand(time(null))//设置随机数种子。

for(i=0i<10i)

]{

while(1)

{

a=rand()0//获取一个介于0和100之间的随机数。

for(j=0j<ij)

if(list[j]==a)break//检查是否有重复项。

if(j==i)//无重复值,保存到列表。

{

list[i]=a

break]}]}

for(i=0i<10i)//打印获得的随机数序列。

printf(“%d,”,list[i])

printf(“n”)

返回0

}

怎么用记事本写代码excel随机函数抽奖不重复excel随机编号不重复

原文标题:怎么用记事本写代码 如何生成一定范围内不重复的随机数?,如若转载,请注明出处:https://www.saibowen.com/tougao/17039.html
免责声明:此资讯系转载自合作媒体或互联网其它网站,「赛伯温」登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,文章内容仅供参考。