Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Contribuez
Contribuez Proposez vos articles, cours, tutoriels, questions/réponses pour les FAQ, sources et autres ressources pour la rubrique Web ainsi que ses sous-rubriques.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/01/2011, 20h28   #1
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 802
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 802
Points : 35 807
Points : 35 807
Par défaut Factorielle et récursivité



Une petite fonction récursive de calcul de factorielle :
Code :
1
2
3
4
5
6
function fact(nb){
	if(isNaN(nb) || nb < 0 || Math.round(nb) != nb){
		throw('Erreur de valeur : ' + nb + ' n\'est pas un nombre entier positif');
	}
	return nb === 0 ? 1 : nb * fact(nb - 1);
}
Bon, on pourrait peut-être l'optimiser en évitant le test du paramètre à chaque appel, mais bon, j'ai opté pour la concision
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 08h44   #2
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 005
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 005
Points : 45 088
Points : 45 088
Beef

Autant faussement prototyper Math

Code :
1
2
3
4
5
6
7
8
9
Math.fact=function (nb){
	if(isNaN(nb) || nb < 0 || Math.round(nb) != nb){
		throw('Erreur de valeur : ' + nb + ' n\'est pas un nombre entier positif');
	}
	return nb === 0 ? 1 : nb * this.fact(nb - 1);
}
var num=10
 
alert(Math.fact(num))
j'ai testé factorielle 1000


[edit] j'ai retrouvé un vieux script de factorielle

Code :
1
2
3
4
5
6
7
function Cfact(nombre){
	switch(true){
		case (nombre<0 || (nombre!=Math.round(nombre))) : 	return "Erreur";
		case (nombre==0):   	return 1;
		default:   			return (nombre-- * Cfact(nombre));
	}
}
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h26.


 
 
 
 
Partenaires

Hébergement Web