JavaScript'te Optimal Algoritma Seçimi
Bazen kodun sorunu, problemin en uygun çözümünün seçilmemiş olmasıyla ilişkili olabilir.
Örneğin, önümüzde 1'den 1000000'a kadar olan tam sayıların toplamını bulma görevi olsun.
Verilen görevi çözelim:
let sum = 0;
for (let i = 1; i <= 1000000; i++) {
sum += i;
}
console.log(sum);
Peki sorun ne? Sorun şu ki, verilen bu problemin matematiksel bir çözümü var.
Bu çözüm neredeyse hiç kaynak gerektirmez! Bunu programlayalım:
let n = 1000000;
let sum = n * (n + 1) / 2;
console.log(sum);
Çıkarılacak ders: Kaynak gerektiren bir görevi çözmeden önce, onun için hazır bir matematiksel formül veya hazır bir matematiksel yaklaşım olup olmadığını mutlaka kontrol edin.
1'den 1000'a kadar olan aralıktaki, 5'e kalansız bölünebilen sayıların adedini bulun.
1'den 1000000'a kadar olan tüm sayıları yazmak için kaç adet rakam gerekeceğini bulun.