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
$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
$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.
Poiščite število števil, ki so deljiva brez ostanka
s 5, iz intervala od 1 do
1000.
Poiščite število števk, ki jih bo potrebno,
da zapišete vsa števila od 1 do 1000000.
Poiščite vsa praštevila v intervalu od
1 do 10000. Naloga z zvezdico,
ni obvezna za reševanje.