Each day I solve several coding challenges and puzzles from Codr's ranked mode. The goal is to reach genius rank, along the way I explain how I solve them. You do not need any programming background to get started, and you will learn a ton of new and interesting things as you go.
let S = 0;
for (let i = 0; i < 150; i💧) {
let h = Math.floor(i / 💎);
if (h > 0)
S += i % h;
}
// 💧 = ? (operator)
// 💎 = ? (number)
// such that S = 73 (number)
Here's a pretty short code for an advanced challenge, let's have a look. The core of the code is a for-loop that runs from 0 to 150 (excluded), and then depending on the if-condition it increases S
's value.
We won't have to fully analyze the code since fixing the two required bugs is pretty simple.
The first one 💧 has to be the ++
operator, to ensure the for-loop works correctly.
The second bug 💎 is quite tricky, you can't determine its value in an easy way, it could be any number. Either you reverse engineer the code to ensure that S = 73
at the end, or take a peek at the possible answers for 💎: 0, 2 and 150. Dividing i
by 0 or 150 will never yield a value larger than 0, so the if-condition is never going to trigger. The only choice left is 2:
By solving these challenges you train yourself to be a better programmer. You'll learn newer and better ways of analyzing, debugging and improving code. As a result you'll be more productive and valuable in business. Get started and become a certified Codr today at https://nevolin.be/codr/
Top comments (0)