Избор на оптимален алгоритъм в 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. Задача със звездичка,
може да не я решавате.