Депозитный калькулятор

Я пишу депозитный калькулятор, который является функцией с тремя параметрами, где amount - суммя вклада, percent - процент по вкладу, period - период вклада. В функцию помещен цикл for, для расчета сумы вклада, зависящий от трех этих параметров функции. У меня ошибка в коде. Подскажите где она. После исправления в консоль должны выводится закоментированные ответы.

function calculateProfit(amount, percent, period) {
  let sum = 0;
  for (i = 0; i <= amount; i += percent + period) {
    sum += i;
  }
  return sum;
}
console.log(calculateProfit(1000, 5, 7)); //407
console.log(calculateProfit(12500, 5, 7)); //5322
console.log(calculateProfit(0, 3, 1)); //0
console.log(calculateProfit(100000, 3, 1)); //3000


Ответы (2 шт):

Автор решения: Igor

function calculateProfit(amount, percent, period) {
  let sum = amount * Math.pow(1 + percent / 100, period);
  return +(sum - amount).toFixed(0);
}
console.log(calculateProfit(1000, 5, 7)); //407
console.log(calculateProfit(12500, 5, 7)); //5322 - wrong
console.log(calculateProfit(0, 3, 1)); //0
console.log(calculateProfit(100000, 3, 1)); //3000

→ Ссылка
Автор решения: Helena Evangeline Falko
function calculateProfit(amount, persent, period) {
  let currentAmount = amount;
  for (let year = 1; year <= period; year++) {
    currentAmount += (currentAmount * persent) / 100;
  }
  return currentAmount - amount;
}

console.log(calculateProfit(1000, 5, 7));
→ Ссылка