После розыгрыша 1 миллиарда на новый год стало интересно посчитать, сколько надо примерно раз сделать ставку на одни и те же числа, чтобы она сыграла. В связи с этим решил немножко поколдовать на JavaScript.
Скрипт ниже вычисляет, сколько раз нужно поставить определенный набор чисел, чтобы выиграть.
Хочу спросить, может я все сделал криво и можно намного лучше, если есть советы по оптимизации, обязательно подсказывайте)
var myComb = [1, 3, 11, 13]; // Ваша комбинация
function winner(myComb){
var counter = 0;
var matchArray = [];
function generWinComb(){
var winComb = [];
var min = 1, max = 20;
for(var i = 0; i < 4; i++){
winComb[i] = min + Math.floor(Math.random() * (max + 1 - min));
}
return winComb;
}
while(true){
for(var i = 0; i < myComb.length; i++){
if(myComb[i] == generWinComb()[i]){
matchArray[i] = true;
}
else{
matchArray[i] = false;
}
}
// Когда уже получен массив с true и false
for(var i = 0; i < myComb.length; i++){
if(matchArray[i] == true){
continue;
}
else{
counter++;
break;
}
}
if(i == myComb.length && matchArray[i-1] == true){
return counter;
}
}
}
document.write(winner(myComb));