PHP-də optimal alqoritmin seçilməsi
Bəzən kod problemləri problemin həlli üçün ən optimal yolun seçilməməsi ilə əlaqədar ola bilər.
Tutaq ki, qarşımızda 1-dən 1000000-dək tam ədədlərin cəmini tapmaq vəzifəsi durur.
Gəlin verilmiş problemi həll edək:
<?php
$sum = 0;
for ($i = 1; $i <= 1000000; $i++) {
$sum += $i;
}
echo $i;
?>
Bəs onda nə etdik səhv? Məsələ ondadır ki, qoyulmuş problemi həll etmək üçün riyazi həll mövcuddur.
Bu həll praktiki olaraq heç bir resurs tələb etmir! Gəlin onu proqramlaşdıraq:
<?php
$n = 1000000;
$sum = $n * ($n + 1) / 2;
echo $sum;
?>
Nəticə: resurs tələb edən problemi həll etməzdən əvvəl mütləq yoxlayın ki, onun həlli üçün hazır riyazi düstur və ya hazır riyazi yanaşma mövcuddurmu.
1-dən 1000-dək olan ədədlər arasında qalıqsız 5-ə bölünən ədədlərin sayını tapın.
1-dən 1000000-dək olan bütün ədədləri yazmaq üçün lazım olacaq rəqəmlərin sayını tapın.
1-dən 10000-dək olan ədədlər arasında bütün sadə ədədləri tapın. Ulduzlu tapşırıqdır, həll etmək məcburi deyil.