Сообщение от Dilettante_Pro
|
Сумма (кратная 5, не меньше 35):<input id="sum" type = "text" value = "1000"><br>
<input type="button" value="Считать" onclick = "calc();"><br>
<div id = "result"></div>
<script>
function calc() {
var summa = +sum.value, period = 6;
if(summa < 35 || Math.floor(summa / 5) * 5 != summa) {
alert("Сумма должна быть кратной 5, не меньше 35");
result.innerHTML = "";
return;
}
var tempPay, currentPay, lastPay;
tempPay = summa / period;
currentPay = Math.floor(tempPay / 5) * 5;
if (currentPay < 35) currentPay = 35;
period = Math.round(summa / currentPay);
currentPay = currentPay + 5;
do {
currentPay = currentPay - 5;
lastPay = summa - currentPay * period;
} while ( lastPay < 35 && lastPay != 0);
if (currentPay < 35) { currentPay = 30;
do {
currentPay = currentPay + 5;
period = Math.floor(summa / currentPay);
lastPay = summa - currentPay * period;
} while (lastPay != 0 && lastPay < 35);
}
result.innerHTML = "";
for (var i = 0; i < period; i++) {
result.innerHTML += i + " - " + currentPay + "<br>";
}
result.innerHTML += i + " - " + lastPay + "<br>";
}
</script>
Насчет денежки - пускай себе ржавеет, лучше пусти эти средства на изучение арифметики
|
Сделал под свой лад, всё работает как надо, единственное что не получается, это меньше чем 244 некоторые числа не правильно считает, например 100.
<script type="text/javascript" src="http://l-c.by/g/libs/jquery/1.10.2/jquery.min.js"
<p>Сумма</p>
<input id="sum" type = "text" value = "">
<p>Месяц</p>
<select class="select-month" name="month">
<option value="2">1</option>
<option value="3">2</option>
<option value="4">3</option>
<option value="5">4</option>
<option value="6">5</option>
<option value="7">6</option>
</select>
<input type="button" value="Считать" onclick = "calc();"><br>
<div id = "result"></div>
function calc() {
var summa = +sum.value.replace(",", "."), period = parseInt($("select[name=month]").val()) , selperiod = period;
if(summa < 35) {
alert("Сумма должна быть кратной 5, не меньше 35");
result.innerHTML = "";
return;
}
var tempPay, currentPay, lastPay;
tempPay = summa / period;
/*if (summa <= 244) { tempPay = summa / 35; }*/
currentPay = Math.floor(tempPay / 5) * 5;
if (currentPay < 35) currentPay = 35;
currentPay = currentPay + 5;
do {
currentPay = currentPay - 5;
lastPay = summa - currentPay * (period-1);
} while ( lastPay < 35 && lastPay != 0);
if (currentPay < 35) { currentPay = 30;
do {
currentPay = currentPay + 5;
period = Math.round(summa / currentPay);
lastPay = summa - currentPay * period;
} while (lastPay != 0 && lastPay < 35);
}
result.innerHTML = "";
for (var i = 0; i < period-1; i++) {
result.innerHTML += i + " - " + currentPay + "<br>";
}
result.innerHTML += i + " - " + lastPay.toFixed(2) + "<br>";
}
P.S. Арифметику подтяну, обещаю )))