> 웹 프론트엔드 > JS 튜토리얼 > 난수 생성 알고리즘 샘플 code_javascript 기술의 JS 구현

난수 생성 알고리즘 샘플 code_javascript 기술의 JS 구현

WBOY
풀어 주다: 2016-05-16 17:26:11
원래의
1139명이 탐색했습니다.

1:

复代码 代码如下:

var MT = [];
var 인덱스 = 0;
함수 초기화_제너레이터(시드) {
MT[0] = 시드;
for (var i = 1; 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 y ^= ((y y ^= (y>18);
인덱스 = (인덱스 1) % 624;
y를 반환합니다.
}
function mt_rand(min, max) {
return extract_number() % (max - min 1) min;
}
function test() {
initialize_generator(new Date().getTime());
var 테스트 = [0, 0];
for (var i = 0; i test[mt_rand(0, 1)] ;
}
반품 테스트;
}

2:
复aze代码 代码如下:

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;
라를 돌려주세요;
}
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿