Memilih Algoritma Optimal dalam JavaScript

Terkadang masalah pada kode terkait dengan fakta bahwa solusi yang dipilih untuk masalah tersebut bukanlah yang paling optimal.

Misalnya, anggap kita memiliki tugas untuk menemukan jumlah bilangan bulat dari 1 hingga 1000000. Mari kita selesaikan tugas yang diberikan:

javascriptlet sum = 0;

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

Apa yang salah? Masalahnya adalah ada solusi matematis untuk menyelesaikan tugas ini.

Solusi ini hampir tidak memerlukan sumber daya! Mari kita programkan:

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

Pelajaran: Sebelum memecahkan masalah yang membutuhkan banyak sumber daya, pastikan untuk memeriksa apakah ada rumus matematika yang sudah jadi atau pendekatan matematika yang sudah jadi untuk menyelesaikannya.

Задание 1

Temukan jumlah angka yang habis dibagi oleh 5, dalam rentang dari 1 hingga 1000.

Задание 2

Temukan jumlah digit yang diperlukan untuk menulis semua angka dari 1 hingga 1000000.