如何获取一个范围内的随机整数

这是我在学JavaScript的一个课后作业。

利用Math.floor()来实现

// 利用 Math.random() 从某个整数范围内随机选择一个值
// 值 = Math.floor( Math.random()*可能值的总数 + 第一个可能的值 )
// 取一个 2 到 10 的整数(中间有9个整数)
var num = Math.floor( Math.random()*9 + 2 )
// 取一个 start 到 end 的整数
function getRandomNumber( start , end ){
    var choices = end - start + 1; // 取得从 start 到 end 所有整数的个数(包括 start 和 end )
    return Math.floor( Math.random()*choices + start );
}
var RandomNumber = getRandomNumber( 0 , 9 );
alert( RandomNumber );

为什么choices要加1?请往下面看

Math.random();                               //[0,1)
Math.random()*(end-start);                   //[0,end-start);
Math.random()*(end-start)+start;             //[start,end);
Math.floor(Math.random()*(end-start)+start); 
//{ x | x>=start,x<end,x∈N}
//如果不 +1 的话就取不到 end 了

为什么不用parseInt() ?

1、parseInt()接受的参数是字符串;
2、而 Math.random() 返回的是一个大于等于 0 ,小于 1 的数值,将数值传入 parseInt() 的时候,会将数字转换成字符串;
3、而在默认情况下,ECMAScript 会将那些小数点后面带有 6个零以上的浮点数值转换为以 e表示法 表示的数值。

alert( parseInt(0.00000001) )  // 1
/*
* 因为0.0000001被转换成字符串时变成"1e-8"
* 所以变成parseInt("1e-8")
* 这样的话输出整数的概率就不一定一样了
*/


### 回答1: 可以使用matlab中的randi函数来随机生成一个范围内整数。例如,要在1到100之间随机生成一个整数,可以使用以下代码: randi([1,100],1,1) 其中,[1,100]表示生成的整数范围,1表示生成的整数个数,1表示生成的整数的维度。 ### 回答2: MATLAB是一种功能强大的数学软件,其提供了多种生成随机整数的方式,以下介绍两种常用方法: 方法一:使用randi函数 randi函数可以生成指定大小的随机矩阵,其语法为: randi([下界, 上界], [行数, 列数]) 其中,[下界, 上界]为指定整数范围,[行数, 列数]为指定随机矩阵的大小。 例如,我们要生成一个在1到100之间的随机整数,可以使用以下代码: randi([1,100],1,1) 其中,[1,100]指定整数范围为1到100,[1,1]指定生成的随机矩阵大小为1行1列,即生成一个随机整数。 方法二:使用randperm函数 randperm函数可以生成一组不重复的随机整数序列,其语法为: randperm(n, k) 其中,n为随机整数范围大小,k为生成的随机整数个数。 例如,我们要生成5个在1到100之间的随机整数序列,可以使用以下代码: randperm(100,5) 其中,100为整数范围,5为生成随机整数序列个数。 不管是使用randi函数还是randperm函数,都可以轻松生成指定范围内随机整数,方便我们在实际编程过程中的应用。 ### 回答3: MATLAB是一款广泛应用于科学计算和数据可视化的软件,根据需求,可以使用randi函数在指定范围内生成一个随机整数。 randi函数有三个输入参数,第一个参数表示随机数范围,第二个参数表示大小,第三个参数表示数据类型。如果省略第二个参数,则默认生成一个1x1的整数矩阵。 例如,要在范围[1,100]中生成一个随机整数,可以使用以下代码: random_num = randi([1,100]); 如果需要生成多个随机整数,可以通过指定矩阵的大小作为第二个参数来实现。例如,生成一个10x10的随机整数矩阵,可以使用以下代码: random_matrix = randi([1,100], 10, 10); 此外,还可以通过指定数据类型来生成不同类型的整数。例如,要生成8位有符号整数,可以使用以下代码: random_int8 = randi([-128,127], 1, 'int8'); 以上是MATLAB随机生成一个范围内整数的简单介绍,具体使用时需要根据需求进行相应的参数设置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值