Math任务

2017-04-13  本文已影响51人  辉夜乀

1、写一个函数,返回从min到max之间的随机整数,包括min不包括max

function rand(min, max){
    var randInt = Math.floor(Math.random()*(max - min))+min;
    return randInt;
}

rand(15, 25)   // 20

检验函数符不符合要求,运行10000次测试随机整数的概率

function rand(min, max){
  var count = 10000;
  var obj = {};
  for(var i=0; i<count; i++){
    var randInt = Math.floor(Math.random()*(max - min))+min;
    var key = randInt;
    if(obj[key] === undefined){
      obj[key] = 1;
    }else{
      obj[key]++;
    }
  }
  for(key in obj){
    obj[key] = obj[key] / count;
  }
    console.log(obj);
}

rand(15, 25)

/* 运行10000次,随机整数的概率
15: 0.0997
16: 0.102
17: 0.1058
18: 0.103
19: 0.1005
20: 0.1014
21: 0.0987
22: 0.094
23: 0.0935
24: 0.1014
包括 min 不包括 max,符合要求
*/

2、写一个函数,返回从min都max之间的随机整数,包括min包括max

function rand2(min, max){
    var randInt = Math.floor(Math.random()*(max + 1 - min))+min;
    return randInt;
}

rand2(15, 25)   // 23

检验函数符不符合要求,运行10000次测试随机整数的概率

function rand2(min, max){
  var count = 10000;
  var obj = {};
  for(var i=0; i<count; i++){
    var randInt = Math.floor(Math.random()*(max + 1 - min))+min;
    var key = randInt;
    if(obj[key] === undefined){
      obj[key] = 1;
    }else{
      obj[key]++;
    }
  }
  for(key in obj){
    obj[key] = obj[key] / count;
  }
    console.log(obj);
}

rand2(15, 25)

/*运行10000次,随机整数的概率
15: 0.0894
16: 0.0905
17: 0.0872
18: 0.0913
19: 0.0904
20: 0.0904
21: 0.0883
22: 0.0916
23: 0.0971
24: 0.0933
25: 0.0905
包括 min 也包括 max 符合要求
*/

3、写一个函数,生成一个长度为 n 的随机字符串,字符串字符的取值范围包括0到9,a到 z,A到Z。

function randomStr(n){
  var dict = "0123456789" + 
             "abcdefghijklmnopqrstuvwxyz" + 
             "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  var str = "";
  for(var i=0; i<n; i++){
    str += dict[Math.floor(Math.random()*dict.length)];
  }
  return str;
}

randomStr(10)    
// "ybF5F5BOPS" 随机生成一个长度为 10 的字符串

var count = 5;
for(var j=0; j<count; j++){
  console.log(randomStr(10));
}
/*运行5次,生成5个这样的字符串
anqWd8gy78
EN48PbSroF
8fZQMYU4DB
Gi6p5e4aIf
k5nkUM8Xms
*/

4、写一个函数,生成一个随机 IP 地址,一个合法的 IP 地址为 0.0.0.0~255.255.255.255

function getRandIP(){
  var arr = [];
  for(var i=0; i<4; i++){
    arr[i] = Math.floor( Math.random()*256 );
  }
  return arr.join('.');
}
var ip = getRandIP()
console.log(ip)    // 25.65.146.196

var count = 5;
for(var j=0; j<count; j++){
  ip = getRandIP()
  console.log(ip)
}
/*运行5次,产生5个随机ip
14.26.217.81
45.88.162.135
114.152.134.49
23.225.5.197
43.189.153.7
*/

5、写一个函数,生成一个随机颜色字符串,合法的颜色为#000000~ #ffffff

function getRandColor(){
  var dict = "0123456789abcdef";
  var colorStr = "#";
  for(var i=0; i<6; i++){
    colorStr += dict[Math.floor(Math.random()*dict.length)];
  }
  return colorStr;
}
var color = getRandColor()
console.log(color)   // #ae7ebd

var count = 5;
for(var j=0; j<count; j++){
  color = getRandColor();
  console.log(color);
}
/*运行5次,产生5个随机颜色字符串
#881727
#21db5d
#8f7fd1
#8e0535
#465030
*/
上一篇 下一篇

猜你喜欢

热点阅读