Показать сообщение отдельно
  #5 (permalink)  
Старый 28.07.2012, 21:46
Профессор
Отправить личное сообщение для PashPP Посмотреть профиль Найти все сообщения от PashPP
 
Регистрация: 26.07.2012
Сообщений: 281

в идеале все должно быть так, но на деле часто виснет
function funk(a, b, c){
        var part = a-((b-1)*c);
        var q = 0
        for (i=1; i<b; i++){
            
            var number = []
             number[i] = Math.floor(Math.random()*part)
             while(number[i] <= c){
                number[i] = Math.floor(Math.random()*part)
             }

             q= q+number[i]
             part = a - q - (b-i-1)*c
             var lastnam = a - q
                    alert(number[i])
        }
        alert(lastnam)    
    }
    funk(90, 3, 5)

Высчитываем первоначальное максимальное значение числа a-((b-1)*c).
Где а- число, б - количество частей. с - мин. значение части = part.
По ходу выпадания чисел part корректируется в зависимости от выпавших перед ним значений part = a - q - (b-i-1)*c . Где q - cумма всех предыдущих выпаданий чисел.
Мне просто интересно, насколько верен мой подход с программной точки зрения, не разбираюсь еще в этих материях.
Ответить с цитированием