Показать сообщение отдельно
  #44 (permalink)  
Старый 30.07.2012, 12:36
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

bes,
Вроде родил идентичное Вашему:

<style type="text/css">input{margin:4px;}</style>
<script type="text/javascript" src="http://yandex.st/jquery/1.4.4/jquery.min.js"></script>
<input id=Number type="text" value="100" > Число <br />
<input id=Nparts  type="text" value="4" > Кол-во разбиваемых частей<br />
<input id="Min-a"  type="text" value="1" >   Минимальное значение каждой части<br />
<input id="Out-2"  type="text" size="35" value=""> Выходной массив разбивки  <br />
<input type="button" value="Разбить" onClick="TstNum()">




<script type="text/javascript">
function TstNum(){
 var a = parseInt($('#Number').val());
 var b = parseInt($('#Min-a').val());
 var N = parseInt($('#Nparts').val()); //alert(a+'||'+b+'||'+N)

 var Arr = [];
 var Summ = 0;

    for(var i=0; i<N; i++){
       Arr[i] = Math.random();
       Summ+=Arr[i];
    }

 var DELTA_FromParts = (a - b*N);
 var Ost = a;
    for(var i=0; i<N-1; i++){
       Arr[i] = b + parseInt((DELTA_FromParts*Arr[i])/Summ)
       Ost-= Arr[i];
    }  Arr[N-1] = Ost;


   //alert(Arr);

   b=Arr.join();c=eval(Arr.join('+'));
  $("#Out-2").val(b+'='+c);



}
</script>

Последний раз редактировалось Deff, 30.07.2012 в 18:18.
Ответить с цитированием