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

rand()%10这样用的话是求0到9范围的随机数,我要是想求5-18范围内的该怎么求?... rand()%10这样用的话是求0到9范围的随机数,我要是想求5-18范围内的该怎么求? 展开
 我来答
帐号已注销
2019-08-30 · TA获得超过25.9万个赞
知道小有建树答主
回答量:2206
采纳率:96%
帮助的人:81.1万
展开全部

在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函数




匿名用户
推荐于2017-08-12
展开全部
最具效率的数学方法:rand()%14+5; //rand【5,18】
--------------------------------------------------------------
下面是取帆坦陆意范围随机整数的公式:
rand()%(max-min+1) +min // 随机区间信梁[min,max]
随机区态顷间[5,18]
=rand()%(18-5+1) +5
=rand()%14+5
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-06-25
展开全部
boolean flag = true;
while(flag) {
int i = rand()%18; //取 0-18 范围的随机友谈余数
if(i >=5 && i <=18 ) flag =false; //当得到5-18的随机数时跳出循好滚侍知环
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-06-25
展开全部
像你说的取5-18范围,则rand()%13+5即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式