Глядя на этой странице (http://www.w3schools.com/jsref/jsref_random.asp)
Math.random();
даст YO число между 0 и 1.
Взятые, что у вас нет ограничений на числовые значения, и что вы могли бы реализовать только один из две точки, одна идея могла бы состоять в том, чтобы сгенерировать 4 числа (от n1 до n4) между 0 и 0,25. У вас будет очень мало изменений, чтобы получить 4 раза 0,25 = 1. Ваше пятое число будет равно 1 - (n1 + n2 + n3 + n4).
Теперь, как получить случайное число от 0 до 0,25? Может быть, делятся на 4 Math.random()? (осторожно деление на 0!)
Та же идея может быть применена к вашей второй проблеме с 6 номерами, делением на 6 (чтобы получить каждое число между 0 и 1/6 и последним напоминанием, чтобы получить 1).
EDIT:
Проверить это и улучшить его!
<html>
<head>
<title>Stackoverflow question 31336708</title>
</head>
<body>
<script type="text/javascript">
// Solve rule #2
var n3=Math.random()/6;
var n4=Math.random()/6;
var n5=Math.random()/6;
var n8=Math.random()/6;
var n9=Math.random()/6;
var n10=1-(n3+n4+n5+n8+n9); // filling the cup for rule #1
// limit case for rule #1 : n3=n4=n5 = 1/6 and n8=n9 = 0. n10 = 0.5 ==> spread 0.5 on n6 and n7 ==> random/4
// other limit case for rule #1 : n3=n4=n5 = 0 and n8=n9 = 1/6. n10 = 4/6=2/3 ==> spread 1/3 on n6 and n7 ==> random/6
// ==> cut the apple in two ==> use random/5 for n2
var n2=Math.random()/5;
var n1=1-(n2+n3+n4+n5); // filling the cup for rule #2
var R1=n1+n2+n3+n4+n5;
var R2=n3+n4+n5+n8+n9+n10;
//checking :
alert("Checking rule #1 = <"+R1+"> with\n n1="+n1+"\n n2="+n2+"\n n3="+n3+"\n n4="+n4+"\n n5="+n5);
alert("Checking rule #2 = <"+R1+"> with\n n3="+n3+"\n n4="+n4+"\n n5="+n5+"\n n8="+n8+"\n n9="+n9+"\n n10="+n10);
</script>
</body>
</html>
спасибо это делать у меня работает –