<SCRIPT LANGUAGE="JavaScript">
<!--
function getArray(min, max) {
var aryBase = new Array();
var aryReturn = new Array();
for (var i = 1; i <= 33; i++){
aryBase[aryBase.length] = i;
}
for ( var m = 0; m < min; m++){
aryReturn[aryReturn.length] = randomNumber(16)
}
for ( var n = 0; n < max; n++){
aryReturn[aryReturn.length] = 16 + randomNumber(16)
}
return aryReturn
}function randomNumber(limit){
return Math.floor(Math.random() * limit);
}document.write(getArray(4, 2).join("<br>"))
//-->
</SCRIPT>
<!--
function getArray(min, max) {
var aryBase = new Array();
var aryReturn = new Array();
for (var i = 1; i <= 33; i++){
aryBase[aryBase.length] = i;
}
for ( var m = 0; m < min; m++){
aryReturn[aryReturn.length] = randomNumber(16)
}
for ( var n = 0; n < max; n++){
aryReturn[aryReturn.length] = 16 + randomNumber(16)
}
return aryReturn
}function randomNumber(limit){
return Math.floor(Math.random() * limit);
}document.write(getArray(4, 2).join("<br>"))
//-->
</SCRIPT>
<!--
//数组对象的indexOf方法
if (!Array.prototype.indexOf){
Array.prototype.indexOf = function(obj, fromIndex){
if (fromIndex == null){
fromIndex = 0;
}else if (fromIndex < 0){
fromIndex = Math.max(0, this.length + fromIndex);
} for (var i = fromIndex; i < this.length; i++){
if (this[i] == obj){
return i;
}
}
return-1;
};
}
//产生随机数
function randomNumber(limit){
return Math.floor(Math.random() * limit);
}//产生指定个数的大小数字,返回数组
function getArray(min, max) {
var aryBase = new Array();
var aryReturn = new Array();
for (var i = 1; i <= 33; i++){
aryBase[aryBase.length] = i;
}
for ( var m = 0; m < min; m++){
var rdmNumber = randomNumber(16);
if (aryReturn.indexOf(rdmNumber) == -1){
aryReturn[aryReturn.length] = rdmNumber;
} else {
m--;
}
}
for ( var n = 0; n < max; n++){
var rdmNumber = 17 + randomNumber(16);
if (aryReturn.indexOf(rdmNumber) == -1){
aryReturn[aryReturn.length] = rdmNumber;
} else {
n--;
}
}
return aryReturn
}document.write(getArray(4, 2).join("<br>"))//-->
</SCRIPT>
一、随机数重复的问题
二、大数最小可能产生16的问题
目的:作一个网页式的双式球缩水javascript程式
访客“随便”点选33个红球内的,33个数以内的红球(数目各不相同)
现求教 大小比例(即主题所描述)缩水法的javascript程式下边的是:奇偶比例缩水法的javascript程式 (范例)
注释:lonum 为访客选取红球组成的数组
oddv 奇偶比例 分别是:0:6 1:5 2:4 3:3 4:2 5:1 6:0
function countODD(lonum){
var ODDcount=0;
for (var i=0; i<lonum.length; i++) {
if ((lonum[i]%2)==1) {
ODDcount++;
}
}
return ODDcount;
}function resultODD(lonum,oddv){
var resultnum=new Array();
var tmpindex=0;
var ODDvalue=0;
for (var i=0;i<lonum.length;i++) {
ODDvalue=countODD(lonum[i]);
for (var j=0;j<oddv.length;j++) {
if (ODDvalue==oddv[j]) {
resultnum[tmpindex]=lonum[i];
tmpindex++;
j=oddv.length;
}
}
}
return resultnum;
}
我的意思是想在你的函数中加多一项参数lonum
(在33个数字任意选择的数字组成的字符串。)如:访客选择 03,05,09,11,15,20,23,27,29,30,32 作为参数lonum的值,然后通过
选择比例:(min,max) 来对lonum数组计算出多组的符合大小比例排列组合数列。function getArray(min, max,lonum) {……
}