Молот Шотландцев
Высший разум
(300965)
4 года назад
У меня получилось что при таких условиях оленю через 100 дней с десяти баксов придется возвращать космическую сумму. Но я не бухгалтер, может где-то и не прав в расчетах
s = 0;
n = 10;
count = 1;
do {
r = n/100*10;
console.log('День ' + count + ' процент ' + r.toFixed(2));
s += r;
console.log('заем ' + n.toFixed(2));
++count;
n = n + n*0.1;
}
while(count <= 100)
alert(s.toFixed(2))
>>>
Почти правильно...
В ответе выше получилось 137806.12
У меня 137796.12
Elepsis Eclipse
Оракул
(64086)
4 года назад
Вы в коде написали
a = a + a * 0.1;
Очевидно, это то же, что и a = a * 1.1
На следующем круге снова будет a = a * 1.1
Если брать начальное значение a, то финальное будет
a = a * 1.1 * 1.1 * 1.1 * 1.1... и так 100 раз == a * 1.1 в степени 100.
Поэтому можно было без цикла, тупо
a = a * Math.pow( 1.1, 100 ); // это сразу будет ответом.
_____________________
В коде с циклом... ошибка в том, что total = ''; а должен быть равен нулю, чтобы к нему добавлять другое число, а не строку из числа...
Решение циклом:
function func_14(money = 10, days = 100, percent = 10) {
let i = 0;
do {
money = money * (100 + percent) / 100;
i++;
}
while (i < days);
return money;
}
console.log(`Task_14: ${func_14()}`);
console.log( 10 * Math.pow(1.1, 100) ); // Контрольный
_______________
Функция может получить и другие аргументы - чтобы работала более универсально, а не была привязана к конкретным числам. Но если аргументов нет - по умолчанию они будут принимать заранее указанные значения.
----------------------------------------
Моё решение похоже не верное. Здесь:
codepen.io/vvv7220/pen/JjjjxQg?editors=0011