Sometimes a code problem arises due to the fact that not the most optimal solution to the problem is chosen.
Let, for example, we are faced with the
task of finding the sum of integers
from 1
to 1000000
. Let's
solve the problem:
let sum = 0;
for (let i = 1; i <= 1000000; i++) {
sum += i;
}
console.log(sum);
What is wrong? The fact is that to solve the problem, there is a math solution.
This solution requires almost no resources! Let's program it:
let n = 1000000;
let sum = n * (n + 1) / 2;
console.log(sum);
Moral: before solving a resource-intensive task, be sure to check if there is a ready-made math formula or ready-made math approach for solving it.
Find the number of numbers from
1
to 1000
divisible
without remainder by 5
.
Find the number of digits needed to write
down all the numbers from
1
to 1000000
.