生成任意范围的随机数/颜色

1, 生成任意范围的随机数,假设生成数起始位置是startNum , 结束位置是endNum;  (startNum ~ endNum). 因为Math.random() 方法只生成换成(0~1) 之间的随机数,所以,(startNum ~ endNum)要向(0~1)进行转换。 startNum +(0 ~ endNum-startNum), 后面的括号中有0了, 已经进了一步了,那怎么得到1? 任何数除以它本身都得1, 0除以任何数都得0 , 后面的括号中都除以(endNUm-startNum), 然后再在外面乘以 (endNUm-startNum);   startNum +(0 ~ 1)*endNum-startNum; 这时得到的是小数,Math.round/parseInt  都可以进行取整。

function getRandomNum(startNum, endNum){
    return Math.round(startNum + Math.random() *(endNum -startNum));
}

2, 生成一个随机颜色; 颜色用16进制表示, 那就生成16进制内的任意一随机数,0Xfffff 表示16进制内的最大数, Math.random() * 0Xffffff 就是返回16 进制内的任意一个数,不过它是一个10进制的数, 当然不要忘记取整(下面的<<0 表示取整),还要把它转换成16 进制。

function getcolor(){
    return "#" +(Math.random()*0Xffffff<<0).toString(16);  // 在js中,任何算术计算都转换成10进制进行计算。
}
时间: 2024-08-12 10:54:34

生成任意范围的随机数/颜色的相关文章

生成任意长度的随机数 JS

1.Math.random().toString(36).substr(2); 结果:ywv6cnpkliahj4tep0 2. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 /* ** randomWord 产生任意长度随机字母数字组合 ** randomFlag-是否任意长度 min-任意长度最小位[固定位数] max-任意长度最大位 ** xuanfeng 2014-08-28 */ function randomWord(ra

以均匀随机分布生成任意斜率随机线性分布

本文的目的是利用(0,1)上的均匀分布随机数生成器生成区间为(imin,imax),斜率为slope的任意归一化线性随机数生成器. 借助(0,1)上的均匀随机数生成器,可以通过反函数法生成任意分布的随机数生成器. 对于C++,生成(imin,imax)上随机数生成器的代码为 double uniform_dist(double imin,double imax) { int temp; while((temp=rand())==RAND_MAX){ ; } return temp/RAND_MA

js生成[n,m]的随机数

一.预备知识 Math.ceil();  //向上取整. Math.floor();  //向下取整. Math.round();  //四舍五入. Math.random();  //0.0 ~ 1.0 之间的一个伪随机数.[包含0不包含1] //比如0.8647578968666494 Math.ceil(Math.random()*10);      // 获取从1到10的随机整数 ,取0的概率极小. Math.round(Math.random());   //可均衡获取0到1的随机整数

使用均匀分布随机数产生器构造任意分布的随机数产生器

一.算法原理 在概率论中,有下面重要的结论:设随机变量Y的概率分布函数F(y)为连续函数,而X是在(0,1)上均匀分布的随机变量,设,则Z与Y有相同的分布. 因此,理论上,我们可以用(0,1)上的均匀分布来得到任意分布的随机数 设随机变量Y的概率密度函数为f(y),则,我们可以按照下面的步骤来获得满足其分布的随机数: 1.根据给定的概率密度函数(PDF)f(y),通过积分算出概率分布函数F(y): 2.计算概率分布函数F(y)的反函数, 3.生成一个(0,1)上均匀分布的随机数变量X, 4.那么

Java 生成任意长度的验证码的两个方法

|--需求说明 1.要求生成任意长度的验证码 2.验证码要求包含大小写英文字母和数字 |--实现方式 采用随机数的方式,分别在数字,大小写英文字母里面抽取字符,抽取次数由for循环控制 |--代码内容 1 package com.work.work3; 2 3 /** 4 * @auther::9527 5 * @Description: 验证码生成器 6 * @program: shi_yong 7 * @create: 2019-07-30 20:45 8 */ 9 public class

2016/1/14 java生成指定范围的随机数

java生成指定范围的随机数 1 package edu.sjtu.erplab.io; 2 3 import java.util.Random; 4 5 public class RandomTest { 6 public static void main(String[] args) { 7 int max=20; 8 int min=10; 9 Random random = new Random(); 10 11 int s = random.nextInt(max)%(max-min+

用C#生成不重复的随机数

对于随机数,大家都知道,计算机不可能产生完全随机的数字,所谓的随机数发生器都是通过一定的算法对事先选定的随机种子做复杂的运算,用产生的结果来近似的模拟完全随机数,这种随机数被称 作伪随机数.伪随机数是以相同的概率从一组有限的数字中选取的.所选数字并不具有完全的随机性,但是从实用的角度而言,其随机程度已足够了.伪随机数的选 择是从随机种子开始的,所以为了保证每次得到的伪随机数都足够地"随机",随机种子的选择就显得非常重要.如果随机种子一样,那么同一个随机数发生器产生 的随机数也会一样.一

JS生成某个范围的随机数(四种情况)

前言: JS没有现成的函数,能够直接生成指定范围的随机数. 但是它有个函数:Math.random()  这个函数可以生成 [0,1) 的一个随机数. 利用它,我们就可以生成指定范围内的随机数. 而涉及范围的话,就有个边界值的问题.这样就包含四种情况: 1)min ≤ r ≤ max  (一般这种比较常见) 2)min ≤ r < max 3) min < r ≤ max 4)min < r < max 一.min ≤ r ≤ max function RandomNumBoth(

[转载][记录]javascript生成不重复的随机数

参考链接:javascript生成不重复的随机数 项目播放视频,是无序的,有上下两个按钮,所以需要生成1,8不重复的随机数数组,如: 7,4,8,6,1,5,3,2 然后再split一次,就是数组了. 拿来主义了