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-მდე. ამოცანა ვარსკვლავით,
შეგიძლიათ არ ამოხსნათ.