Exercice réalisé ci-dessous :
Ecrire un algorithme en PHP calculant le nombre de chiffres pairs dans un entier. Par exemple pour 149536, il s’agit de 2. On crééra pour se faire trois sous-programmes faisant respectivement les tâches suivantes :
- Calcul du nombre de chiffres d’un entier.
- Obtention du nième chiffre d’un entier (en partant de la droite
bien sûr).
- Test de la parité d’un entier.
Voici le code :
<?php
function calculerNombreChiffres($entier) {
$nombreChiffres = 0;
while ($entier > 0) {
$entier = (int)($entier / 10);
$nombreChiffres++;
}
return $nombreChiffres;
}
function obtenirNiemeChiffre($entier, $n) {
for ($i = 1; $i <= $n; $i++) {
$chiffre = $entier % 10;
$entier = (int)($entier / 10);
}
return $chiffre;
}
function estPair($entier) {
return $entier % 2 == 0;
}
$entier = rand(1000, 10000);
$nombreChiffres = calculerNombreChiffres($entier);
$nombrePairs = 0;
for ($i = 1; $i <= $nombreChiffres; $i++) {
$chiffre = obtenirNiemeChiffre($entier, $i);
if (estPair($chiffre)) {
$nombrePairs++;
}
}
echo "Voici un entier généré aléatoirement : $entier<br>";
echo "Ce nombre a $nombrePairs chiffres pairs";
?>