1 ?n*fac(n-1):1}"."/> 1 ?n*fac(n-1):1}".">
Maison > Article > interface Web > Comment trouver la factorielle de 13 en javascript
Méthode : 1. Utilisez la boucle for, la syntaxe "var cj=1;for(var i=1;i1?n*fac(n-1):1}".
L'environnement d'exploitation de ce tutoriel : système Windows 7, JavaScript version 1.8.5, ordinateur Dell G3.
Factorial est un symbole arithmétique inventé par Christian Kramp (1760~1826) en 1808. C'est un terme mathématique.
La factorielle d'un entier positif est le produit de tous les entiers positifs inférieurs et égaux au nombre, et la factorielle de 0 est 1. La factorielle d’un nombre naturel n s’écrit n!. En 1808, Christian Carman introduit cette notation.
signifie aussi n!=1×2×3×...×(n-1)×n
。阶乘亦可以递归方式定义:0!=1
,n!=(n-1)!×n
.
Javascript prend en charge plusieurs méthodes pour implémenter factorielle, jetons un coup d'œil.
Méthode 1 : utilisez la boucle for pour réaliser
Si vous voulez trouver la factorielle de 13, vous devez parcourir les nombres 1 ~ 13, donc la condition initiale de la boucle for peut être définie sur i = 1, et la condition de restriction peut être i
for (var i = 1; i <= 13; i++) { }
Puis dans le corps de la boucle "{}", multipliez les valeurs i de chaque boucle. Cela nécessite une quantité intermédiaire cj pour stocker le produit. La valeur initiale de la variable cj doit être 1, pour ne pas affecter le résultat. Il y a deux façons de l'écrire (choisissez-en une) :
cj *= i; //或 cj = cj * i;
Une fois la boucle terminée, la valeur de la variable cj sera la factorielle de 13, puis la sortira.
Le code d'implémentation complet est donné ci-dessous :
var cj = 1; for (var i = 1; i <= 13; i++) { cj *= i; } console.log( "13的阶乘为: " + cj);
Méthode 2 : Utiliser des fonctions récursives pour implémenter
function fac(num) { if (num <= 1) { return 1; } else { // 闭包 return num * fac(--num); //方法一 //return num*fac(num-1); //方法二 // return num*arguments.callee(num-1);//方法三 // return num*arguments.callee(--num);//方法四 /*但在严格模式下不能通过脚本访问arguments.callee*/ } } var result = fac(13); console.log( "13的阶乘为: " + result);
Méthode 3 : Utiliser l'opérateur ternaire
function fac(n) { return n > 1 ? n * fac(n - 1) : 1 } console.log('2的阶乘为:', fac(2)) console.log('3的阶乘为:', fac(3)) console.log('4的阶乘为:', fac(4)) console.log('13的阶乘为:', fac(13))
【Apprentissage recommandé : Tutoriel avancé javascript】
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!