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
$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
$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.
Finn antall tall som er delelige uten rest
på 5, i intervallet fra 1 til
1000.
Finn antall sifre som vil være nødvendig
for å skrive alle tallene fra 1 til 1000000.
Finn alle primtall i intervallet fra
1 til 10000. Oppgave med stjerne,
behøver ikke å løses.