Keuze van het optimale algoritme in JavaScript
Soms ligt het probleem met code aan het feit dat niet de meest optimale oplossing voor het probleem is gekozen.
Stel, we hebben bijvoorbeeld de taak
om de som van gehele getallen van 1 tot 1000000 te vinden.
Laten we de gestelde taak oplossen:
let sum = 0;
for (let i = 1; i <= 1000000; i++) {
sum += i;
}
console.log(sum);
Wat is er dan mis? Het zit zo, dat er voor het oplossen van de gestelde taak een wiskundige oplossing bestaat.
Deze oplossing vereist praktisch geen resources! Laten we het programmeren:
let n = 1000000;
let sum = n * (n + 1) / 2;
console.log(sum);
De moraal: voordat je een resource-intensieve taak oplost, controleer altijd of er geen kant-en-klare wiskundige formule of kant-en-klare wiskundige aanpak voor de oplossing bestaat.
Vind het aantal getallen, deelbaar zonder rest
door 5, uit het interval van 1 tot
1000.
Vind het aantal cijfers dat nodig is
om alle getallen van 1 tot 1000000 op te schrijven.