在4-8的题目中从0~100中取10个整数

在4-8的题目中从0~100中取10个整数

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>Math.random()</title>

</head>

<body>

<script>

  function funName(){

var arr=new Array();

for(var i=0;i<10;i++){

var random=Math.random();

arr[i]=Math.floor(random*(100));

}

document.write(arr.sort(function(a,b) {return b-a;})+"<br>");

document.write("最大值:"+arr[0]+"<br/>");

document.write("最小值:"+arr[9]);

}

funName();

</script>

</body>

</html>

在这里arr[i]后面是否还需要加1

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
提问者 慕函数4234673 2019-12-02 19:43:04

老师这里为啥要乘以101呢

  • 同学你好,因为随机数生成的是大于等于0小于1的数,而我们想要得到的是大于等于0小于等于100的数,如果乘以100的话,由于最大的数也是小于1的,所以不可能生成100这个数,所以我们将生成的随机数乘以101,又随机数是小于1的,那么乘以101是小于101的,再向下取整,就可以得到100这个数。 举个极端的例子,假如随机数生成的是0.999,那么乘以101以后就是100.899,再向下取整,就得到100了。但是乘以100就只能得到99.9,向下取整就是99,是得不到100这个随机数的。 如果我的回答帮助到了你,欢迎采纳,祝学习愉快~
    2019-12-03 09:58:56
好帮手慕粉 2019-12-02 17:22:17

同学你好,同学问的是下面的arr[i]后面加1吗?

http://img1.sycdn.imooc.com//climg/5de4d640096a529e06630107.jpg

如果是的话,那就不用在后面加1,因为加1后生成的随机数里面就不会有0了。另外,Math.random()获取的是大于等于0,小于100的随机数,建议同学同学乘以101,不然随机数就生不成100:

http://img1.sycdn.imooc.com//climg/5de4d79d0951ca1007640224.jpg

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师