JavaScript

Задача на Java Script. Олень взял в "Быстрозайм" $10 под 10% в день. Сколько он будет должен отдать через 100 дней?

Проценты начисляются не от стартовой суммы, а например на второй день он должен отдать уже не от $100 а от $110/ Написать в цикле Do ...While
----------------------------------------
Моё решение похоже не верное. Здесь:
codepen.io/vvv7220/pen/JjjjxQg?editors=0011
У меня получилось что при таких условиях оленю через 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
Артём Александров
Артём Александров
64 544
Лучший ответ
1234 1232 Правильно всё. В реальной жизни просто не существует таких процентов... поэтому и олень!))
Очевидно, что никакой цикл тут не нужен, достаточно напечатать 10*1.1^100
Евгений Смирнов что этот знак означает, которого у меня нет клавиатуре? И всё таки нужно через цикл. Такое задание от учителя. Вывести нужно не только в последний день, но и в кажый
Вы в коде написали

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) ); // Контрольный

_______________

Функция может получить и другие аргументы - чтобы работала более универсально, а не была привязана к конкретным числам. Но если аргументов нет - по умолчанию они будут принимать заранее указанные значения.
Dimar Aubakirov
Dimar Aubakirov
62 360
Евгений Смирнов money = money * (100 + 10) / 100; Это тоже самое что и money = money + money * 0.1;
Я правильно понимаю?