用rand随机函数怎么求指定范围的随机数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用rand随机函数怎么求指定范围的随机数相关的知识,希望对你有一定的参考价值。

rand()%10这样用的话是求0到9范围的随机数,我要是想求5-18范围内的该怎么求?

在EXCEL中使用函数RAND()*(最大值-最小值)+最小值即可得到5-18范围内的随机数了,如下图操作所示:

1、在任一EXCEL单元格数输入“=RAND()*(18-5)+5”;

2、输入完成后按回车,即可得到5-18间的随机数

3、选择生成的随机数,进行填充后就可以很多5-18之间的随机数,如下图所示:

扩展资料

srand((unsigned)time(NULL))则使用系统定时/计数器的值作为随机种子。每个种子对应一组根据算法预先生成的随机数。

所以在相同的平台环境下,不同时间产生的随机数会是不同的,相应的,若将srand(unsigned)time(NULL)改为srand(TP)(TP为任一常量),则无论何时运行、运行多少次得到的“随机数”都会是一组固定的序列,因此srand生成的随机数是伪随机数。

库函数中系统提供了两个函数用于产生随机数:srand()和rand()。 原型为:

函数一:int rand(void);

返回一个[0,RAND_MAX]间的随机整数。

函数二:void srand(unsigned seed);

参数seed是srand()的种子,用来初始化srand()的起始值。

参考资料来源:百度百科—rand函数




参考技术A 最具效率的数学方法:rand()%14+5; //rand【5,18】
--------------------------------------------------------------
下面是取意范围随机整数的公式:
rand()%(max-min+1) +min // 随机区间[min,max]
随机区间[5,18]
=rand()%(18-5+1) +5
=rand()%14+5
参考技术B boolean flag = true;
while(flag)
int i = rand()%18; //取 0-18 范围的随机数
if(i >=5 && i <=18 ) flag =false; //当得到5-18的随机数时跳出循环
参考技术C 像你说的取5-18范围,则rand()%13+5即可

怎样用Excel随机函数rand()生成随机数字和大写字母,能自动产生4位混合的

比如,HD87,
67GF
R7L3
怎样用Excel随机函数rand()生成随机数字和大写字母,能自动产生4位混合的
比如90BH KIW0 K5JA 不规律的自动生成4个大写和数字的混合字,数字和字母前后不限字母必须是大写

思路:先构建一个序列,1-36,右列录入为A-Z字母,0-9数字。

随机字符使用randbetween()和vlookup()共同完成。

字符之间使用&连接。

公式为:其中$N$1:$O$26为构建的序列

=VLOOKUP(RANDBETWEEN(1,36),$N$1:$O$36,2,0)&VLOOKUP(RANDBETWEEN(1,36),$N$1:$O$36,2,0)&VLOOKUP(RANDBETWEEN(1,36),$N$1:$O$36,2,0)&VLOOKUP(RANDBETWEEN(1,36),$N$1:$O$36,2,0)

参考技术A 用randbetween函数生产一个范围内的随机数值整数部分,公式:=RANDBETWEEN(最小值,最大值);
用rand函数生产随机数字(小数部分),公式=RAND();
用round函数处理小数点位数,公式=round(数值,保留小数点后几位有效数)
举例:假设生成0到100之间的随机数,保留小数点后2位有效数。整个公式为:
=round(randbetween(0,99)+rand(),2)追问

不能用啊,再说我不需要小数点

以上是关于用rand随机函数怎么求指定范围的随机数的主要内容,如果未能解决你的问题,请参考以下文章

EXCEL,怎么让随机数据rand函数的数据随机范围在单元格数字范围之内?

rand()随机函数产生的值的范围?

java随机数指定的范围怎么做

如何用rand函数产生一个随机数?

excel中RAND函数产生随机数的概率控制

c语言中rand()函数怎么用?