Uchaguzi wa Algorithmu Bora katika PHP
Wakati mwingine tatizo la code linaweza kuhusiana na ukweli kwamba, suluhisho la tatizo halijachaguliwa kuwa bora.
Hebu, kwa mfano, tuchukulie tuna tatizo la
kupata jumla ya namba kamili kutoka 1 hadi 1000000.
Tutatatua tatizo lililowekwa:
<?php
$sum = 0;
for ($i = 1; $i <= 1000000; $i++) {
$sum += $i;
}
echo $i;
?>
Kuna nini kibaya? Jambo ni kwamba kwa ajili ya kutatua tatizo lililowekwa kuna suluhisho la kihisabati.
Suluhisho hili halihitaji karibu rasilimali yoyote! Tuitaandaa kwa programu:
<?php
$n = 1000000;
$sum = $n * ($n + 1) / 2;
echo $sum;
?>
Maadili: kabla ya kutatua tatizo lenye matumizi makubwa ya rasilimali hakikisha kuangalia, ikiwa hakuna kwa ajili ya kutatua fomula ya kihisabati iliyokwisha tayari au mbinu ya kihisabati iliyokwisha tayari.
Tafuta idadi ya namba, zinazogawanyika bila ya baki
kwa 5, kutoka kwenye kipindi cha 1 hadi
1000.
Tafuta idadi ya tarakimu, ambazo zitahitajika,
ili kuandika namba zote kutoka 1 hadi 1000000.
Tafuta namba zote zenye kuwa za kwanza kwenye kipindi cha
1 hadi 10000. Tatizo lenye nyota,
hauhitaji kutatua.