Επιλογή του βέλτιστου αλγορίθμου στο JavaScript
Μερικές φορές το πρόβλημα του κώδικα μπορεί να σχετίζεται με το γεγονός, ότι έχει επιλεγεί μια όχι και τόσο βέλτιστη λύση του προβλήματος.
Ας υποθέσουμε, για παράδειγμα, ότι έχουμε το καθήκον
να βρούμε το άθροισμα των ακεραίων αριθμών από το 1 έως το 1000000.
Ας λύσουμε το πρόβλημα που τέθηκε:
let sum = 0;
for (let i = 1; i <= 1000000; i++) {
sum += i;
}
console.log(sum);
Τι είναι λοιπόν λάθος; Το γεγονός είναι ότι για την επίλυση του προβλήματος που τέθηκε υπάρχει μια μαθηματική λύση.
Αυτή η λύση πρακτικά δεν απαιτεί πόρους! Ας την προγραμματίσουμε:
let n = 1000000;
let sum = n * (n + 1) / 2;
console.log(sum);
Συμπέρασμα: πριν από την επίλυση ενός προβλήματος απαιτητικού σε πόρους φροντίστε πάντα να ελέγχετε αν υπάρχει για την επίλυσή του έτοιμος μαθηματικός τύπος ή έτοιμη μαθηματική προσέγγιση.
Βρείτε τον αριθμό των αριθμών που διαιρούνται χωρίς υπόλοιπο
με το 5, στο διάστημα από το 1 έως
το 1000.
Βρείτε τον αριθμό των ψηφίων που θα απαιτηθούν,
για να γραφούν όλοι οι αριθμοί από το 1 έως το 1000000.