Maison  >  Article  >  développement back-end  >  Programme PHP pour compter les zéros finaux dans la factorielle d'un nombre

Programme PHP pour compter les zéros finaux dans la factorielle d'un nombre

王林
王林original
2024-08-28 13:38:00264parcourir

PHP Program to Count Trailing Zeroes in Factorial of a Number

Qu'est-ce que la factorielle d'un nombre ?

La factorielle d'un entier non négatif, désignée par le symbole "!", est le produit de tous les entiers positifs inférieurs ou égaux à ce nombre. En d’autres termes, la factorielle d’un nombre s’obtient en multipliant ce nombre par tous les entiers positifs situés en dessous.

Par exemple, la factorielle de 5 est calculée comme suit :

5! = 5 x 4 x 3 x 2 x 1 = 120

De même, la factorielle de 0 est définie comme étant 1 :

0 ! = 1

Les factorielles sont souvent utilisées en mathématiques et en combinatoire pour compter les permutations, les combinaisons et les arrangements d'objets. Ils ont également des applications en probabilités, en calcul et dans divers autres domaines des mathématiques.

Programme PHP pour compter les zéros finaux dans la factorielle d'un nombre

Dans la factorielle d'un nombre, les zéros à droite font référence au nombre de zéros consécutifs à la fin de la représentation décimale de la factorielle.

Par exemple 10 ! = 10 x 9 x 8 x 7 x 6 x 5 x 4 x 3 x 2 x 1

Effectuer la multiplication

10 ! = 3 628 800

La factorielle de 10 est 3 628 800.

Les zéros finaux dans une factorielle de 10 sont 2 car le nombre de zéros consécutifs à la fin de la factorielle.

Exemple

<?php

function countTrailingZeroes($number) {
   $count = 0;

   // Divide the number by powers of 5 and count the quotient
   // The quotient represents the number of trailing zeroes
   while ($number >= 5) {
      $number = (int) ($number / 5);
      $count += $number;
   }

   return $count;
}

// Test the function
$number = 20;
$trailingZeroes = countTrailingZeroes($number);
echo "The factorial of $number has $trailingZeroes trailing zeroes.<br>";

// Test the function
$number = 14;
$trailingZeroes = countTrailingZeroes($number);
echo "The factorial of $number has $trailingZeroes trailing zeroes.";
?> 

Sortie

The factorial of 20 has 4 trailing zeroes.
The factorial of 14 has 2 trailing zeroes.

Explication du code

Dans l'exemple de code, une fonction PHP est appelée countTrailingZeroes. Cette fonction calcule le nombre de zéros à droite dans la factorielle d'un nombre donné. Pour ce faire, il divise le nombre par des puissances de 5 et compte le quotient. La boucle while continue tant que le nombre est supérieur ou égal à 5. Dans la boucle, le nombre est divisé par 5 en utilisant une division entière pour calculer le nombre de facteurs de 5 dans le nombre actuel. Le quotient résultant est ajouté à une variable appelée $count, qui garde une trace du nombre de zéros à droite. Une fois la boucle terminée, le décompte final est renvoyé par la fonction.

Sous la fonction, il y a un cas de test où la fonction est appelée avec une valeur de 123. Celui-ci calcule le nombre de zéros à droite dans la factorielle de 20 à l'aide de la fonction countTrailingZeroes. Le résultat est stocké dans une variable appelée $trailingZeroes. Enfin, le résultat est affiché en utilisant echo, fournissant le numéro d'entrée et le nombre de zéros à droite dans sa factorielle.

Dans ce cas, la factorielle de 20 est de 2 432 902 008 176 640 000, donc le nombre de zéros à droite dans sa factorielle est de 4 et la factorielle de 14 est de 87 178 291 200. Le nombre de zéros à droite dans sa factorielle est donc 2.

Conclusion

Le programme PHP fourni calcule efficacement le nombre de zéros à droite dans la factorielle d'un nombre donné. Il utilise une boucle while pour diviser le nombre par puissances de 5 et compter le quotient, représentant le nombre de zéros à droite. En tirant parti de cette approche, le programme évite d'avoir à calculer la factorielle entière. Cette technique est efficace car les zéros à droite dans une factorielle résultent de facteurs de 5. Par conséquent, en comptant les facteurs de 5, le programme détermine avec précision le nombre de zéros à droite. Ce code fournit une solution pratique et efficace pour calculer les zéros à droite dans les factorielles, facilitant ainsi diverses applications mathématiques et de programmation.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn