Les Snippets

Connexion

Avoir le factoriel d'un nombre

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 19/10/2006 20:10:22 et initié par KiNdErMaXi [Liste]
Date de mise à jour : 22/03/2008 18:29:29
Vue : 20281
Catégorie(s) : Maths
Langages dispo pour ce code :
- VBA
- mIRC
- VB 2005, VB.NET 1.x
- C# 1.x, C# 2.x
- C# 1.x, C# 2.x
- VB6, VBA
- Python
- Javascript
- Delphi 5
- ActionScript Flash
- ObjectiveCaml
- C++
- Java
- C++
- VB 2005, VB 2008, VB.NET 1.x
- Scripts fu
- Voir tous les langages pour ce code snippet



Langage : VB.NET 1.x , VB 2005 , VB 2008
Date ajout : 02/07/2008
Posté par FREMYCOMPANY [Liste]
    ' Methode iterative (performante)
    Public Function Fact1(ByVal I As Integer) As UInt64
        Fact1 = 1
        For X = 2 To I : Fact1 *= X : Next
    End Function
    ' Methode récursive (moins performante)
    Public Function Fact2(ByVal I As Integer) As UInt64
        If I < 1 Then Return 1
        Return I * Fact2(I - 1)
    End Function
    ' Methode à cache de données (hyper performante)
    Public Function Fact3(ByVal I As Integer) As UInt64
        Static Cache As UInt64() = {1, 1, 2, 6, 24, 120, 720, 5040, 40320, 362880, 3628800, 39916800, 479001600, 6227020800, 87178291200, 1307674368000, 20922789888000, 355687428096000, 6402373705728000, 121645100408832000, 2432902008176640000}
        If I < 0 Then Return 1
        If I < 21 Then Return Cache(I)
        Fact3 = Cache(20)
        For X As Integer = 21 To I
            Fact3 *= X
        Next
    End Function


Remarque :
Proposition de trois méthodes de calculs de la factorielle
La troisième est celle qui doit être utilisée si les performances sont recherchées.

Snippets en rapport avec : Maths, Nombre, Fact, Factoriel



Codes sources en rapport avec : Maths, Nombre, Fact, Factoriel

{Python} RACINE N-IÈME D'UN RÉEL A, PAR LA METHODE DE NEWTON-RAPHSON
Ce programme permet de determiner la racine n-ième (n>0) d'un nombre avec une précision remarquable....

{Python} NOMBRES DE KAPREKAR
Bonjour, J'ai trouvé un sujet intéressant en fesant les exercices du concours Prologin qui s'appe...

{Visual Basic, VB6, VB.NET, VB 2005} UN PETIT PROGRAMME DE CALCUL DES NOMBRE PREMIERS
qu'on vous appuiez sur calculer il va mettre les nombre dans un fichier texte dans C: appeler premie...

{Visual Basic, VB6, VB.NET, VB 2005} CHIFFRE EN LETTRE FONCTION
Une petite fonction simlpe pour transformer un chiffre en lettre. Exemple: "15193" >> dix ...

{Delphi} LES TOURS DE HANOÏ (( MODE GRAPHIQUE UTILISATEUR / RÉSOLUTION GRAPHIQUE ))
Définition : Le problème des tours de Hanoï est un jeu de réflexion imaginé par le mathématicien ...

{Delphi} APPROX'PI, OU COMMENT APPROXIMER PI AVEC LA MÉTHODE DE MONTE CARLO
Voici, pour me vider un petit peu la tête avec toutes ces textures o_O, un petit prog pour approxime...

{Delphi} RÉSOLUTION D'UN SYSTÈME LINÉAIRE (( N ÉQUATIONS À N INCONNUS ))
Le principe de ce code est d'entrée un certain nombre de variables " qui est le nombre d'équations...

{JAVA / J2EE} LES NOMBRES RATIONNELS
une implémentation des nombres rationnels avec toutes leurs opérations;addition, soustraction, multi...

{SQL} CONVERSION DE NOMBRE EN LETTRES (SQL)
Je me suis inspiré du code c# trouvé ici (http://files.codes-sources.com/fichier.aspx?id=21491&f=con...

{Javascript / DHTML} NOMBRE ALÉATOIRE
Fonction réutilisable qui retourne un nombre aléatoire dans l'intervalle choisi.Inspiré de la foncti...