Pemilihan Algoritma Optimum dalam PHP
Kadangkala masalah kod berkaitan dengan pemilihan penyelesaian yang tidak optimum untuk masalah tersebut.
Katakan, sebagai contoh, kita mempunyai tugas
untuk mencari hasil tambah integer dari 1 hingga 1000000.
Mari selesaikan tugas yang diberikan:
<?php
$sum = 0;
for ($i = 1; $i <= 1000000; $i++) {
$sum += $i;
}
echo $i;
?>
Apa yang salah? Masalahnya ialah untuk menyelesaikan tugas yang diberikan, terdapat penyelesaian matematik.
Penyelesaian ini hampir tidak memerlukan sumber! Mari aturcara penyelesaian ini:
<?php
$n = 1000000;
$sum = $n * ($n + 1) / 2;
echo $sum;
?>
Pengajaran: sebelum menyelesaikan tugas yang memerlukan banyak sumber, pastikan anda menyemak sama ada terdapat formula matematik siap atau pendekatan matematik siap untuk menyelesaikannya.
Cari bilangan nombor yang boleh dibahagi tanpa baki
dengan 5, dalam julat dari 1 hingga
1000.
Cari bilangan digit yang diperlukan
untuk menulis semua nombor dari 1 hingga 1000000.
Cari semua nombor perdana dalam julat dari
1 hingga 10000. Tugas yang sukar,
boleh tidak diselesaikan.