Izbira optimalnega algoritma v PHP

Včasih je težava kode povezana s tem, da izbrana rešitev problema ni najbolj optimalna.

Recimo, da se soočamo z nalogo poiskati vsoto celih števil od 1 do 1000000. Rešimo postavljeno nalogo:

php<?php
  $sum = 0;
  
  for ($i = 1; $i <= 1000000; $i++) {
    $sum += $i;
  }
  
  echo $i;
?>

Kaj pa je narobe? Bistvo je v tem, da za rešitev postavljenega problema obstaja matematična rešitev.

Ta rešitev praktično ne zahteva virov! Programirajmo jo:

php<?php
  $n = 1000000;
  $sum = $n * ($n + 1) / 2;
  echo $sum;
?>

Morala: pred reševanjem za vire zahtevne naloge obvezno preverite, ali ne obstaja za njeno rešitev gotova matematična formula ali gotov matematični pristop.

Задание 1

Poiščite število števil, ki so deljiva brez ostanka s 5, iz intervala od 1 do 1000.

Задание 2

Poiščite število števk, ki jih bo potrebno, da zapišete vsa števila od 1 do 1000000.

Задание 3

Poiščite vsa praštevila v intervalu od 1 do 10000. Naloga z zvezdico, ni obvezna za reševanje.