# Growth of a Population Codewars’ Kata

In a small town the population is `p0 = 1000` at the beginning of a year. The population regularly increases by `2 percent` per year and moreover `50` new inhabitants per year come to live in the town. How many years does the town need to see its population greater or equal to `p = 1200` inhabitants?

More generally given parameters:

`p0, percent, aug (inhabitants coming or leaving each year), p (population to surpass)`

the function `nb_year` should return `n` number of entire years needed to get a population greater or equal to `p`.

aug is an integer, percent a positive or null floating number, p0 and p are positive integers (> 0)

##### Note:

Don’t forget to convert the per cent parameter as a percentage in the body of your function: if the parameter percent is 2 you have to convert it to 0.02.

## Brute Force

``````procedure nbYear(p0, percent, aug, p)
1. years = 0
2. for years until p0 >= p
A. p0 += p0 * (percent / 100) + aug
3. return years``````

## JavaScript Implementation

Depending on the language, the implementation using for loop or recursive call might make difference in the performance of the algorithm.

## Join the conversation

• ### Rehan

Not able to pass all test cases with these solution. You can implement below solution
function nbYear(p0, percent, aug, p) {
console.log(“args”, p0,percent,aug, p)
let sum =0;
let count =0;
while(sum < p){
sum = Math.floor(p0 + p0 * (percent/100) + aug)
p0 = sum;
count ++;
}
console.log("sum", sum)
console.log("count", count)
return count;

}

• ### Moshe Kessler

Hi! which one of the solutions have you tried out?
Your solution looks valid as well!