<head>
<title>test</title>
<meta http-equiv="content-Type" content="text/htmlcharset=utf-8">
<script type="text/javascript">
var unique = {}
window.onload = function(){
document.getElementById('btn').onclick = function(){
var result = random_num([6,1])
document.getElementById('result').innerHTML = document.getElementById('result').innerHTML + '<br />' + result
unique = {}
}
}
function random_num(){
var params = arguments[0]
var count = params[0] + params[1]
var result = arguments[1] || []
var k = ("0"+Math.floor(Math.random() * (result.length >= params[0] ? 16 : 33) + 1)).slice(-2)
if(result.length<count){
if(!unique[k]){
result.push(k)
unique[k] = 1
}
random_num(params,result)
}
return result.slice(0,count-params[1]).sort().concat(result.slice(params[0]).sort())
}
</script>
<body>
<button id="btn">result</button>
<div id="result"></div>
</body>
</html>
建议先生成一个33的数组var reds=setnum(33)//红球
var blues=setnum(16)//蓝球
var items=[]
while(items.length<6){
var index=rang(1,reds.length)
if(reds[index]!=0){
items.push(index)
reds[index]=0
}
}
alert(items) // 这样就获取到了 随机的6个红球
//产生随机数
function rang(min,max){
var cur=max-min+1
return Math.floor(Math.random()*cur+min)
}
//生成球
function setnum(n){
var numbs=[]
for(var i=1i<=ni++){
numbs.push(i)
}
return numbs
}
//完全手敲 有错误请见谅 希望多你有所帮助
return返回的值为袋中红球的数目为m、白球数目为n、需要取出x个球、红球至少出现y次时的概率 此函数为递归函数 每进行一次函数调用代表从袋中取出一个球 可能是红球也可能是白球 (double)m/(m+n)*p1为取红球的概率 (double)n/(m+n)*p2为取白球的概率 如果你不太会递归 建议先把递归弄懂 然后再看这道题