C ++ factoriel

C ++ factoriel
Un nombre factoriel est le produit de tous les entiers descendants positifs. Le factoriel est généralement utilisé dans les mélanges et les variations. Les nombres négatifs n'ont pas de factorielle. Par exemple, 1 est un factoriel de 0. Le factoriel est indiqué par le symbole '!'. Lorsque l'utilisateur saisit un entier, tous les nombres doivent être multipliés à ce numéro particulier. Le factoriel peut être déterminé à l'aide de boucles «pour». Lorsque nous l'initialisons avec 0, nous obtenons 0 dans le résultat et lorsque nous n'initialisons pas, nous obtenons la bonne réponse, mais si une variable détient une valeur de poubelle, nous ne pouvons pas obtenir la bonne réponse. Il est donc suggéré d'initialiser le factoriel avec 1. En C ++, il existe de nombreuses méthodes pour découvrir la factorielle de différents entiers. Discutons de cette façon. Pour l'exécution des codes, Dev C ++ est utilisé. Nous écrivons les codes suivants et les faisons l'exécution.

Déterminez le factoriel d'un nombre en utilisant la récursivité

Nous pouvons obtenir le factoriel de n'importe quel nombre par l'utilisation de la méthode de récursivité. Dans cet exemple, nous prenons un numéro de l'utilisateur, puis calculons le factoriel de ce numéro donné. Nous incluons un fichier d'en-tête comme suit.

#inclure
Utilisation de Namespace Std;
int factorial (int x);
int main()

int x;
cout x;
couter << "Factorial of " << x << " = " < 1)
retour x * factoriel (x - 1);
autre
retour 1;

Supposons que nous entrions le numéro «12» dans le programme au besoin, la méthode factorielle () ne prend cet entier qu'en tant qu'argument. Cette fonction se multiplie 12 par le factoriel de (12-1 = 11). Pour ce faire, le numéro «11» est ramené à la méthode factorielle (). De même, dans la répétition suivante, multipliez 11 par le factoriel de (11-1 = 10). La méthode factorielle () est alors donnée 10 en tant que paramètre. Ce processus dure jusqu'à ce que la valeur s'étend 1 et renvoie 1. Maintenant, chaque fonction rend une valeur pour calculer factoriel qui est retournée à la fonction principale ().

L'utilisateur entre un numéro 12, puis obtient le factoriel de ce numéro.

Utiliser pour Loop

Nous déterminons le factoriel d'un entier à l'aide de la boucle «pour». Jetons un coup d'œil à ce qui se passe dans le code ci-dessous. Nous incluons le fichier d'en-tête au début. Après cela, nous utilisons l'espace de noms Std. Nous avons déclaré trois variables. Les variables 'A' et 'J' sont de type de données entier. Ensuite, nous utilisons la fonction COUT pour obtenir un entier positif de l'utilisateur. Cet entier est stocké en variable «a». Ici, nous entrons le numéro «9».

#inclure
Utilisation de Namespace Std;
int main()

int a, j, factoriel = 1;
Couta;
pour (j = a; j> = 1; j--)
factoriel = factoriel * j;
couter<<"\nFactorial = "<couter<retour 0;

Maintenant, après avoir obtenu l'intégralité de l'utilisateur, l'évaluation de la boucle «pour» commencera. La valeur de la variable «A» (9) est initialisée avec la variable «J». Par conséquent, j = 9. La section d'initialisation de la boucle FOR est mise en œuvre en premier, mais une seule fois. L'état j> = 1 ou 9> = 1 évalue TRUE, de sorte que le flux du programme va dans une boucle et factoriel * J ou 1 * 9 ou 9 est initialisé en factoriel. Le flux du programme passe à la troisième partie de la boucle et la valeur de «J» est décrémentée. Par conséquent, j = 4. Condition j> = 1 est à nouveau évaluée. La condition est évaluée à chaque fois et la valeur de «J» est mise à jour. Et après chaque évaluation de la condition, le programme à l'intérieur de la boucle s'exécute jusqu'à ce que la condition évalue à False. Ainsi, lorsque la condition est fausse, nous obtenons les valeurs «J» et «factorielle» après chaque évaluation. La valeur de «factorielle» est récupérée à la fin de la boucle. Et cela entraînera la factorielle du numéro spécifié.

L'utilisateur saisit le numéro «9» puis appuye sur la touche Entrée pour obtenir le factoriel de 9.

Utiliser pendant la boucle

Une autre méthode pour trouver la valeur factorielle est l'utilisation d'une boucle. Dans ce code, nous incluons le fichier d'en-tête . Nous prenons la variable «M» comme ayant un entier de type de données. Nous avons également appliqué la condition «IF». Il renvoie 1 si la valeur de «m» est équivalente à 0. Après cela, nous prenons plus de variables. Nous devons initialiser ces variables avant la boucle while.

#inclure
Utilisation de Namespace Std;
insigned int factorial (unsigned int m)

if (m == 0)
retour 1;
int k = m, factoriel = 1;
pendant que (m / k != m)
factoriel = factoriel * k;
K--;

retour factoriel;

int main()

int n = 16;
couter << "Factorial of the number "
<< n<< " is "
<< factorial(n) << endl;
retour 0;

Nous utilisons l'instruction While pour implémenter une structure itérative lorsque les opérations sont inconnues, et l'itération dure jusqu'à ce que la condition de test devienne vraie. Une fois l'instruction WHAL est mise en œuvre, l'ordinateur évalue d'abord la condition de test donnée. Si cette condition est vraie, le corps de la boucle est mis en œuvre. Après avoir exécuté le corps de la boucle, la condition de test est à nouveau évaluée, et si elle est vraie, le corps de la boucle est exécuté une fois de plus. Cette procédure se poursuit jusqu'à ce que la condition de test donnée soit fausse. Si faux, le contrôle est transmis à la première déclaration après la fin du corps de la boucle. Le corps de la boucle ne contient qu'une seule instruction ou plusieurs déclarations.

Ensuite, nous prenons le numéro «16» pour trouver le factoriel. Ce numéro est signifié par la variable 'n'.

Après avoir exécuté le code susmentionné, nous obtenons le factoriel de 16 en sortie.

Conclusion:

Cet article explique les techniques de trouver le factoriel d'un nombre. Nous avons multiplié tous les entiers non négatifs qui sont inférieurs ou équivalents à ce nombre pour obtenir le factoriel de ce nombre. Pour les nombres non négatifs, le factoriel est toujours déterminé. Pour obtenir la factorielle des entiers positifs, nous utilisons la boucle pour la boucle et la boucle while. Nous avons également utilisé la méthode de récursivité à cet effet.