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

хм. хотя не всегда срабатывает. И можно немного комментариев, пожалуйста. Что это за k и val

// число 
var n = 678867;
// число-делитель, групп которого должно быть макс количество
var x = 767;
// другое число-делитель
var y = 6776;
// -количество групп
var nX = 0, nY = 0;
if (n > y) {
	var k = Math.floor(y / x);
	k += ((y % x) > 0) ? 1 : 0;
	nX = Math.floor(n / x);
	nY = n % x;
	if (nY < y ) {
		var val = Math.floor((nY + x * (k - 1)) / y);
		nX -= k - val;
		nX = (nX < 0) ? 0 : nX;
	} else {
		nY = Math.floor(к / y);
	};
}
alert(nX + '*' + x + '+' + nY + '*' + y + ' -- '+ (nX*x+nY*y));
Ответить с цитированием