Zgjedhja e algoritmit optimal në JavaScript

Ndonjëherë problemi i kodit mund të lidhet me faktin se është zgjedhur zgjidhja më jo optimale e problemit.

Le të themi, për shembull, që kemi përpara detyrën të gjejmë shumën e numrave të plotë nga 1 në 1000000. Le të zgjidhim detyrën e parashtruar:

javascriptlet sum = 0;

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

Çfarë nuk shkon? Çështja është se për zgjidhjen e detyrës së parashtruar ekziston një zgjidhje matematikore.

Kjo zgjidhje praktikisht nuk kërkon burime! Le ta programojmë atë:

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

Morali: para zgjidhjes së një detyre që kërkon shumë burime patjetër kontrolloni nëse ekziston një formulë e gatshme matematikore për zgjidhjen e saj ose një qasje e gatshme matematikore.

Задание 1

Gjeni numrin e numrave që pjesëtohen pa mbetje me 5, nga intervali nga 1 në 1000.

Задание 2

Gjeni numrin e shifrave që do të nevojiten për të shkruar të gjithë numrat nga 1 në 1000000.