Growing Plant
Caring for a plant can be hard work, but since you tend to it regularly, you have a plant that grows consistently. Each day, its height increases by a fixed amount represented by the integer upSpeed. But due to lack of sunlight, the plant decreases in height every night, by an amount represented by downSpeed.
Since you grew the plant from a seed, it started at height 0 initially. Given an integer desiredHeight, your task is to find how many days it'll take for the plant to reach this height.
Example
For upSpeed = 100, downSpeed = 10, and desiredHeight = 910, the output should be
growing_plant(upSpeed, downSpeed, desiredHeight) = 10| # | Day | Night |
|---|---|---|
| 1 | 100 | 90 |
| 2 | 190 | 180 |
| 3 | 280 | 270 |
| 4 | 370 | 360 |
| 5 | 460 | 450 |
| 6 | 550 | 540 |
| 7 | 640 | 630 |
| 8 | 730 | 720 |
| 9 | 820 | 810 |
| 10 | 910 | 900 |
The plant first reaches a height of 910 on day 10.
Solution
py
def growing_plant(up_speed, down_speed, desired_height):
height = 0
day = 0
while height < desired_height:
day += 1
height += up_speed
if height >= desired_height:
break
height -= down_speed
return day
print(growing_plant(6, 5, 10))js
function growingPlant(upSpeed, downSpeed, desiredHeight) {
let days = 0;
let height = 0;
while (height < desiredHeight) {
days++;
height += upSpeed;
if (height >= desiredHeight) {
break;
}
height -= downSpeed;
}
return days;
}
console.log(growingPlant(6, 5, 10));