Choix de l'algorithme optimal en PHP
Parfois, le problème du code est lié au fait que la solution choisie pour le problème n'est pas la plus optimale.
Supposons, par exemple, que nous soyons confrontés à la tâche
de trouver la somme des entiers de 1 à 1000000.
Résolvons le problème posé :
<?php
$sum = 0;
for ($i = 1; $i <= 1000000; $i++) {
$sum += $i;
}
echo $i;
?>
Qu'est-ce qui ne va pas ? Le fait est que pour résoudre le problème posé, il existe une solution mathématique.
Cette solution ne nécessite pratiquement pas de ressources ! Programmons-la :
<?php
$n = 1000000;
$sum = $n * ($n + 1) / 2;
echo $sum;
?>
Morale : avant de résoudre une tâche gourmande en ressources, vérifiez toujours s'il n'existe pas une formule mathématique toute faite ou une approche mathématique toute faite pour la résoudre.
Trouvez le nombre de nombres divisibles sans reste
par 5, dans l'intervalle de 1 à
1000.
Trouvez le nombre de chiffres nécessaires
pour écrire tous les nombres de 1 à 1000000.
Trouvez tous les nombres premiers dans l'intervalle de
1 à 10000. Tâche avec un astérisque,
vous pouvez ne pas la résoudre.