Valg av optimal algoritme i PHP

Noen ganger kan problemet med koden være relatert til at den ikke mest optimale løsningen på oppgaven er valgt.

La oss for eksempel si at vi står overfor oppgaven å finne summen av heltall fra 1 til 1000000. La oss løse den gitte oppgaven:

php<?php
  $sum = 0;
  
  for ($i = 1; $i <= 1000000; $i++) {
    $sum += $i;
  }
  
  echo $i;
?>

Hva er da galt? Saken er at for å løse den gitte oppgaven finnes det en matematisk løsning.

Denne løsningen krever praktisk talt ingen resurser! La oss programmere den:

php<?php
  $n = 1000000;
  $sum = $n * ($n + 1) / 2;
  echo $sum;
?>

Moral: Før du løser en ressurskrevende oppgave, må du alltid sjekke om det finnes en ferdig matematisk formel eller en ferdig matematisk tilnærming for å løse den.

Задание 1

Finn antall tall som er delelige uten rest på 5, i intervallet fra 1 til 1000.

Задание 2

Finn antall sifre som vil være nødvendig for å skrive alle tallene fra 1 til 1000000.

Задание 3

Finn alle primtall i intervallet fra 1 til 10000. Oppgave med stjerne, behøver ikke å løses.