Избор на оптимален алгоритам во PHP
Понекогаш проблемот со кодот може да биде поврзан со тоа што не е избрано најоптималното решение за задачата.
Да претпоставиме, на пример, дека ни е поставена задачата
да го најдеме збирот на цели броеви од 1 до 1000000.
Да ја решиме поставената задача:
<?php
$sum = 0;
for ($i = 1; $i <= 1000000; $i++) {
$sum += $i;
}
echo $i;
?>
Што не е во ред? Работата е во тоа што за решавање на поставената задача постои математичко решение.
Ова решение практично не бара ресурси! Да го програмираме:
<?php
$n = 1000000;
$sum = $n * ($n + 1) / 2;
echo $sum;
?>
Морал: пред решавање на задача која бара многу ресурси задолжително проверете дали не постои готова математичка формула или готов математички пристап за нејзино решавање.
Најдете го бројот на броеви кои се делат без остаток
на 5, од интервалот од 1 до
1000.
Најдете го бројот на цифри што ќе бидат потребни,
за да се запишат сите броеви од 1 до 1000000.
Најдете ги сите прости броеви во интервалот од
1 до 10000. Задача со ѕвездичка,
не мора да се решава.