Показать сообщение отдельно
  #45 (permalink)  
Старый 30.07.2012, 17:47
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

<div id="div">
	<input value="130"> Число <br>
	<input value="3"> Количество частей <br>
	<input value="20"> Минимальное значение части<br>
	<input type="button" value="Разбить">
</div>

<script>
window.onload = function () {
	function f(num, part, min) {
		if (num / part < min) {
			alert('не реально');
			return;
		}
		var rest = num - min * part; 
		var mas = [];
		var elem = 0;
		for (var i = 1; i < part; i++) {
			elem = Math.round(rest * Math.random());
			mas.push(min + elem); 
			rest -= elem; 
		}
		mas.push(min + rest);
		alert(mas);
	}
	
	function check (elem) {
		if (isNaN(elem) == false && elem.value != '') {
			return true;
		} else {
			return false;
		}
	}
	
	var div = document.getElementById('div');
	
	div.children[6].onclick = function () {
		 var num = parseInt(div.children[0].value); 
		 var part = parseInt(div.children[2].value);
		 var min = parseInt(div.children[4].value);
		 if (check(num) && check(part) && check(min)) {
			f (num, part, min);
		} else {
			alert('в полях есть не число')
		}
	}
	
}
</script>

PS: добавил поля для ввода
Ответить с цитированием