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<?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<?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

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.

Задание 2

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.

Задание 3

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.