Pemilihan Algoritma Optimum dalam JavaScript

Kadangkala masalah kod berkaitan dengan penyelesaian masalah yang dipilih bukanlah yang paling optimum.

Katakan, sebagai contoh, kita mempunyai tugas untuk mencari hasil tambah integer dari 1 hingga 1000000. Mari selesaikan tugas yang diberikan:

javascriptlet sum = 0;

for (let i = 1; i <= 1000000; i++) {
  sum += i;
}
  
console.log(sum);

Apa yang salah? Masalahnya ialah untuk menyelesaikan tugas yang diberikan terdapat penyelesaian matematik.

Penyelesaian ini hampir tidak memerlukan sumber! Mari aturcarakannya:

javascriptlet n = 1000000;
let sum = n * (n + 1) / 2;
console.log(sum);

Pengajaran: sebelum menyelesaikan tugas yang memerlukan banyak sumber, pastikan anda menyemak sama ada terdapat formula matematik siap atau pendekatan matematik siap untuk menyelesaikannya.

Задание 1

Cari bilangan nombor yang boleh dibahagi tanpa baki dengan 5, dalam julat dari 1 hingga 1000.

Задание 2

Cari bilangan digit yang diperlukan untuk menulis semua nombor dari 1 hingga 1000000.