Az optimális algoritmus kiválasztása JavaScriptben
Néha a kód problémája azzal függ össze, hogy nem a legoptimálisabb megoldást választottuk a feladathoz.
Tegyük fel például, hogy az a feladat áll előttünk,
hogy találjuk meg az egész számok összegét 1-től 1000000-ig.
Oldjuk meg a feladatot:
let sum = 0;
for (let i = 1; i <= 1000000; i++) {
sum += i;
}
console.log(sum);
Mi a baj ezzel? Az, hogy a feladat megoldására létezik matematikai megoldás.
Ez a megoldás gyakorlatilag nem igényel erőforrásokat! Programozzuk is le:
let n = 1000000;
let sum = n * (n + 1) / 2;
console.log(sum);
Tanulság: erőforrás-igényes feladatok megoldása előtt mindig ellenőrizd, hogy létezik-e a megoldásához kész matematikai képlet vagy kész matematikai megközelítés.
Határozd meg azon számok mennyiségét, amelyek maradék nélkül
osztók 5-tel, az 1-től
1000-ig terjedő intervallumban.
Határozd meg a számjegyek mennyiségét, amelyekre szükség lesz
az összes szám felírásához 1-től 1000000-ig.