Calcul de factorielle(n) avec javascript

Soyez le premier à donner votre avis sur cette source.

Snippet vu 30 470 fois - Téléchargée 28 fois

Contenu du snippet

<SCRIPT Language="JavaScript">
<!--
// La fonction Factorielle (version récursive)
function factorielle(n)
{
if (n<0) {
alert ("Veuillez Saisir Un Entier Positif ou null");
return "### Erreur ###";
}
else {
if (n == 0) {
return 1;
}
else {
return n * factorielle (n-1);
}
}
}
//-->
</SCRIPT>

<FORM name="form">

<p>Entrer Un Entier Positif : <input type="text" size="35" name="input" value="0">

<p><input type="button" value="Factorielle" onclick="document.form.output.value=factorielle(document.form.input.value);">

<p>Entrer Le Résultat : <input type="text" size="40" name="output" value="1">

</FORM>

Source / Exemple :


pas de ZIP

Conclusion :


Programme simple pour débutant comme moi ...

A voir également

Ajouter un commentaire

Commentaires

cs_bultez
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
26 -
message d'erreur :
ligne 15 : Identificateur attendu.
Padkartiai
Messages postés
21
Date d'inscription
mercredi 2 juillet 2003
Statut
Membre
Dernière intervention
28 février 2005
-
Bonjour,

"Identificateur inconnu" provient de l'utilisation d'un mot clé : "in".

J'ai amélioré en tenant compte des erreurs de saisies :

<HTML>
<head>
<script language="JavaScript">

function test(nb)
{
this.form.numfin.value = '';

// Test si nb est numèrique
if(isNaN(nb))
{alert('Entre un numèrique');}
else
{
// Test si nb est un entier
if(nb == parseInt(nb))
{
// Test si nb est positif
if(nb>=0)
{this.form.numfin.value = factorielle(nb);}
else
{alert('L\'entier doit être positif');}
}
else
{alert('Entre un entier');}
}
}

function factorielle(n) {
if (n>0) { return n*(factorielle(n-1));}
else {return 1;}
}

</script>
</head>

<Form name="form">
<center>
Entrez un Entier positif :


Le Resultat est :

</center>
</form>

</html>

Padkartiai
cs_bultez
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
26 -
et bien voila, c'est mieux quand
ça marche : il faut donc tester avant.
remarque :
essayer si le nombre donné = 010 ( par exemple )
: mettre parseInt(nb,10) au lieu de parseInt(nb)
il faut continuer.
Padkartiai
Messages postés
21
Date d'inscription
mercredi 2 juillet 2003
Statut
Membre
Dernière intervention
28 février 2005
-
bien vu ;)
okouinfo
Messages postés
6
Date d'inscription
jeudi 12 octobre 2006
Statut
Membre
Dernière intervention
18 mai 2009
-
merci pr ce algo mais est ce j peux avoir un algo qui calcul l'afd(l'analyse factorielle discrimante merci et j compte sr vous

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.