Balance after yearly compounding
An account reinvests its interest once a year. Report the balance after a whole number of years.
- Each year the balance gains floor(balance × rate / 100) before the year ends.
- Zero years returns the untouched principal.
- Interest is credited in whole minor units, rounding down each year.
compoundBalance(principal: int, ratePercent: int, years: int) → int
C++ needs a compiler and Drill does not host one yet, so this page is the reference rather than an exercise: the problem, worked examples, and the solution in full. To type it out, the same problem runs in Python.
Where you start
int compoundBalance(int principal, int ratePercent, int years) {
}
Worked examples
| Call | Result |
|---|---|
compoundBalance(1000, 10, 2) | 1210 |
compoundBalance(100, 5, 3) | 115 |
compoundBalance(5000, 0, 5) | 5000 |
compoundBalance(0, 10, 5) | 0 |
Hint
Loop the years, adding the floored interest each pass.
Reference solution in C++
int compoundBalance(int principal, int ratePercent, int years) {
int balance = principal;
for (int i = 0; i < years; i++) balance += (balance * ratePercent) / 100;
return balance;
}