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 : 13788
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++



Langage : VBA
Date ajout : 19/10/2006
Posté par KiNdErMaXi [Liste]
Sub Factoriel()
 Dim a As Integer, b As Integer, i As Integer
 a = InputBox("Entrez le nombre a tester")
 b = 1
  For i = 2 To a
   b = i * b
  Next
 MsgBox "Le factoriel de " & a & " est " & b
End Sub

Langage : mIRC
Date ajout : 19/10/2006
Posté par KiNdErMaXi [Liste]
alias Fact {
  var %i = 2, %b = 1
  while %i <= $1 { var %b = $calc(%i * %b) | inc %i }
  return %b
}
Remarque :
Utilisation sous forme d'identifieur $fact()
Langage : VB.NET 1.x , VB 2005
Date ajout : 25/10/2006
Posté par NHenry [Liste]
function Factorielle(byval pNb as integer) as integer
     If pNb=1 Then
        Return 1
     Else
        Return pNb*Factorielle(pNb-1)
     End If
 End Function
 
Langage : C# 1.x , C# 2.x
Date ajout : 15/11/2006
Posté par Bidou [Liste]
DateMAJ : 22/11/2006
// Remarque: Ce code est assez élégant (1 ligne) mais n'est pas le 
// plus performant (récursion oblige). Pour les petits nombres cependant, 
// il est plus rapide qu'une boucle while (d'après mes testes, jusqu'à une
// valeur de 1000 environ)
private long Factoriel(int nb) 
{
  return nb > 1 ? nb * this.Factoriel(nb - 1) : nb; 
}


Remarque :
On pourrait mettre un type ulong plutôt que long, mais alors la méthode ne serait pas CLS Compliant.
Langage : C# 1.x , C# 2.x
Date ajout : 17/11/2006
Posté par Malkuth [Liste]
DateMAJ : 21/11/2006

public long Factor(int nb)
{

     long Res = 1;
     while(nb > 1)Res *= nb--;

     return Res;

}

Remarque :
La méthode par récursion est à bannir, imaginez un Factor(1000000) ca veut dire 1000000 d'appel à la fonction Factor, donc la pile prend un méchant coup (StackOverflowException). Sans parler de ca, l'appel d'une fonction prend toujours du temps.
Langage : VB6 , VBA
Date ajout : 18/11/2006
Posté par PCPT [Liste]
Function GetFactoriel(lVal As LongAs Long
    GetFactoriel = 1
    Dim i&
    For i = To lVal
        GetFactoriel = i * GetFactoriel
    Next i
End Function

Langage : Python
Date ajout : 26/12/2006
Posté par lepecheur [Liste]
def Fact(nb):
    res=1
    for i in range(1, nb+1):
        res *=i
    return res
Langage : Javascript
Date ajout : 03/01/2007
Posté par roro06 [Liste]
function fact(n)
    {
    return (n==1)?1:n*fact(n-1);
    }

Langage : Delphi 5
Date ajout : 06/02/2007
Posté par f0xi [Liste]
DateMAJ : 25/10/2007

function FFact(const N : integer { max = 1754}) : extended;
var i : integer;
begin
  result := 1;
  for i := 1 to N do
      result := result * i;
end;
Langage : ActionScript Flash
Date ajout : 21/05/2007
Posté par shubenka [Liste]
function factoriel(num:Number){
    return num > 1 ? num*factoriel(num-1) : num;
}
Langage : ObjectiveCaml
Date ajout : 02/06/2007
Posté par Cacophrene [Liste]
(* Récursive terminale. Exemple d'utilisation : factorielle 5 donne 120 *)
let factorielle =
    let rec loop result = function
        | 0 -> result
        | n -> loop (n * result) (n - 1) 
    in loop 1
Langage : C++
Date ajout : 04/06/2007
Posté par coucou747 [Liste]
template <class T, int N>
class Math{
    public :
        static T factorielle(){
            T a=N;
            return Math<T, N-1>::factorielle()*a;
        }
};
template <class T>
class Math<T, 0>{
    public :
        static T factorielle(){
            T a=1;
            return a;
        }
};

Langage : Java
Date ajout : 10/02/2008
Posté par vincjava [Liste]
public static long Fact(int a) {         // méthode propre
    long b=1;
    for(int i=1;i<=a;i++) { b = b*i; }
    return b;
}
public static long Fact2(int nb) {       // méthode moins propre
    return nb > 1 ? nb * Fact2(nb - 1) : nb;
}
public static void main(String[ ] args) { System.out.println(Fact(20)); }

Remarque :
20! est le plus grand factorielle qui peut être contenu dans un long
Langage : C++
Date ajout : 18/03/2008
Posté par yemissid [Liste]
DateMAJ : 22/03/2008
#include <iostream>
using namespace std;
#include <gmpxx.h>
typedef mpz_class Integer
 
Integer factoriel (Integer n)
{
    Integer i,b=1;
    
    for (i=1;i<=n;i++){
        b=b*i;
    }
    
    return b;
}
Remarque :
La classe gmp modelise les grands entiers.
Pour compiler n'oubliez pas d'utiliser la commande gmp.

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



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

{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 ...

{Visual Basic, VB6, VB.NET, VB 2005} CALCUL DE FACTORIEL (VITESSE)
après une approche de calcul juste de factoriel, je m'attaque à la vitesse. Le résultat n'est pas en...

{PHP} COMPTER LE NOMBRE DE FICHIERS DANS UN DOSSIER
Après pas mal de recherche, je n'ai pas réellement trouvé un code qui me convenait. J'ai donc trouvé...

{Delphi} DÉCOUVRIR LE NOMBRE MYSTÈRE
Petit jeu tout simple développé par mes soins, il faut découvrir un nombre entier compris entre 1 et...

{Visual Basic, VB6, VB.NET, VB 2005} VACHE TAUREAU BY CHIHAOUI
Salut ! bref, un jeu populaire Vache Taureau! l'Ordi génère un nombre aléatoire et l'utilisateur ...

{C / C++ / C++.NET} MANIPULATION DE NOMBRE COMPLEXE
ce programme permet de faire les operation suivante sur des nombres complexes: - Multiplication d'u...

{Python} BÉZOUT OU ALGORITHME D'EUCLIDE ÉTENDU
Bonjour, je suis en terminale SSI spé maths et il y a quelque temps, on a fait le théorème de Bézou...

{C / C++ / C++.NET} COMPILATEUR ET DÉCOMPILATEUR DE SOURCES MALBOLGE [MLBC]
Salut Ce programme déchiffre une source Malbolge pour donner un fichier qui contient les instructio...

{PHP} PYTHAGORE, CA RECIPROQUE ET SON THEOREME
Ces programmes prend les chiffres qu'on lui donne et fait le thoereme de Pythagore ou la réciproque...