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<?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<?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.

Задание 1

Cari bilangan nombor yang boleh dibahagi tanpa baki dengan 5, dalam julat dari 1 hingga 1000.

Задание 2

Cari bilangan digit yang diperlukan untuk menulis semua nombor dari 1 hingga 1000000.

Задание 3

Cari semua nombor perdana dalam julat dari 1 hingga 10000. Tugas yang sukar, boleh tidak diselesaikan.