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
$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
$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 dan 1000 gacha bo'lgan oraliqda, 5 ga
qoldiqsiz bo'linadigan sonlar sonini toping.
1 dan 1000000 gacha bo'lgan barcha sonlarni yozish
uchun kerak bo'ladigan raqamlar sonini toping.
1 dan 10000 gacha bo'lgan oraliqda barcha
tub sonlarni toping. Yulduzcha bilan belgilangan masala,
yechish shart emas.