CALCULER LA FACTORIELLE JUSQU'À 5409! AVEC JSP ET L'AFFICHER SUR BROWSER EN UN T

Scupper Messages postés 28 Date d'inscription jeudi 15 octobre 2009 Statut Membre Dernière intervention 12 décembre 2013 - 23 mars 2011 à 04:21
piksou14 Messages postés 1 Date d'inscription samedi 9 décembre 2017 Statut Membre Dernière intervention 9 décembre 2017 - 9 déc. 2017 à 02:22
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/52972-calculer-la-factorielle-jusqu-a-5409-avec-jsp-et-l-afficher-sur-browser-en-un-tableau

piksou14 Messages postés 1 Date d'inscription samedi 9 décembre 2017 Statut Membre Dernière intervention 9 décembre 2017
9 déc. 2017 à 02:22
bien
cs_janhsh Messages postés 31 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 24 janvier 2015
23 avril 2011 à 01:47
Voici un algo beaucoup plus rapide

public Xint factorial(int n)
{
if (n < 0){
throw new ArithmeticException("Factorial: n has to be >= 0, but was " + n);
}
if (n < 2){
return Xint.ONE;
} long h n / 2, q h * h; long r (n & 1) 1 ? 2 * q * n : 2 * q;
Xint f = Xint.valueOf(r);
for (int d = 1; d < n - 2; d += 2){
f = f.multiply(q -= d);
}
return f;
}
cs_janhsh Messages postés 31 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 24 janvier 2015
23 avril 2011 à 01:24
C’est ce que l'on appelle de la programmation trivial ... Tu utilise la définition mathématique de la factoriel pour ton calcul qui est O(n!), c'est à dire très coûteuse en temps...

L'algorithmie nous apprend qu'il existe d'autre méthodes de calcul de factorielle qui sont O(n2), c'est à dire beaucoup plus rapides.
Scupper Messages postés 28 Date d'inscription jeudi 15 octobre 2009 Statut Membre Dernière intervention 12 décembre 2013
23 mars 2011 à 04:21
puisque le serveur a refuser de télécharger le fichier ZIP j'ai du écrire le code séparément :S
Rejoignez-nous