PHPda optimal algoritmni tanlash

Ba'zan kod muammosi, masala uchun eng optimal yechim tanlanmaganligi bilan bog'liq bo'ladi.

Faraz qilaylik, bizdan 1 dan 1000000 gacha bo'lgan butun sonlar yig'indisini topish vazifasi qo'yilgan. Berilgan masalani yechamiz:

php<?php
  $sum = 0;
  
  for ($i = 1; $i <= 1000000; $i++) {
    $sum += $i;
  }
  
  echo $i;
?>

Xato nimada? Gap shundaki, berilgan masala uchun matematik yechim mavjud.

Bu yechim deyarli hech qanday resurs talab qilmaydi! Uni dasturlashtiramiz:

php<?php
  $n = 1000000;
  $sum = $n * ($n + 1) / 2;
  echo $sum;
?>

Xulosa: resurs talab qiladigan masalani yechishdan oldin, uning yechimi uchun tayyor matematik formula yoki tayyor matematik yondashuv mavjudligini tekshiring.

Задание 1

1 dan 1000 gacha bo'lgan oraliqda, 5 ga qoldiqsiz bo'linadigan sonlar sonini toping.

Задание 2

1 dan 1000000 gacha bo'lgan barcha sonlarni yozish uchun kerak bo'ladigan raqamlar sonini toping.

Задание 3

1 dan 10000 gacha bo'lgan oraliqda barcha tub sonlarni toping. Yulduzcha bilan belgilangan masala, yechish shart emas.