JS实现随机数生成算法示例代码
2013-08-08 00:00
1156 查看
1:
2:
var MT = []; var index = 0; function initialize_generator(seed) { MT[0] = seed; for (var i = 1; i < 624; i++) { MT[i] = 0xffffffff & (0x6c078965 * (MT[i - 1] ^ (MT[i - 1] >> 30)) + i); } } function generate_numbers() { for (var i = 0; i < 624; i++) { var y = (MT[i] & 0x80000000) + (MT[(i + 1) % 624] & 0x7fffffff); MT[i] = MT[(i + 397) % 624] ^ (y >> 1); if (y % 2 != 0) { MT[i] ^= 0x9908b0df; } } } function extract_number() { if (index == 0) { generate_numbers(); } var y = MT[index]; y ^= (y >> 11); y ^= ((y << 7) & 0x9d2c5680); y ^= ((y << 15) & 0xefc60000); y ^= (y >> 18); index = (index + 1) % 624; return y; } function mt_rand(min, max) { return extract_number() % (max - min + 1) + min; } function test() { initialize_generator(new Date().getTime()); var test = [0, 0]; for (var i = 0; i < 100000; i++) { test[mt_rand(0, 1)]++; } return test; }
2:
var random=function(t1,t2,t3){//t1为下限,t2为上限,t3为需要保留的小数位 function isNum(n){ return /^\d+$/.test(n); } if(!t1 || (! isNum(t1)) ){t1=0;} if(!t2 || (! isNum(t2)) ){t2=1;} if(!t3 || (! isNum(t3)) ){t3=0;} t3 = t3>15?15:t3; // 小数位不能大于15位 var ra = Math.random() * (t2-t1)+t1,du=Math.pow(10,t3); ra = Math.round(ra * du)/du; return ra; }
相关文章推荐
- JS实现随机数生成算法示例代码
- 算法学习与代码实现1——开始、生成随机数
- JS随机数生成算法
- 用js实现简单算法的实例代码
- Android Java实现余弦匹配算法示例代码
- 【JS+CSS3】实现带预览图幻灯片效果的示例代码
- Js实现双击鼠标自动滚动屏幕的示例代码
- ASP.NET 2.0 HttpHandler实现生成图片验证码(示例代码下载)
- js实现局部页面打印预览原理及示例代码
- node.js实现微信JS-API封装接口的示例代码
- Angularjs实现分页和分页算法的示例代码
- js实现的map方法示例代码
- 克鲁斯卡算法 并查集实现最小生成树(伪代码)
- JS实现点击复选框变更DIV显示状态的示例代码
- ASP.NET 2.0 HttpHandler实现生成图片验证码(示例代码下载)
- js实现网页的两个input标签内的数值加减(示例代码)
- 利用js实现前台动态添加文本框,后台获取文本框内容(示例代码)
- JS实现的随机排序功能算法示例
- vue.js实现表格合并示例代码