IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

fonction qui calcule la factorielle ?


Sujet :

C

  1. #1
    Membre averti Avatar de piff62
    Inscrit en
    Décembre 2003
    Messages
    431
    Points
    417
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Décembre 2003
    Messages : 431
    Points : 417
    Par défaut fonction qui calcule la factorielle ?
    Bonjour,
    voila dans mon programme . j'ai besoin de calculer la factorielle d'un nombre ..
    Existe t-il une librairie dans laquelle se trouve la fonction que je veux ?
    Ou faut il que je l'ecrive moi meme ?
    Je sais que c'est pas dur a faire soi meme .. mais pourquoi reinvente la roue a chaque fois ?
    voila
    merci

  2. #2
    Membre actif Avatar de sorry60
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    802
    Points
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 802
    Points : 253
    Par défaut
    salut, pour ma part je ne connais pas de fonction calculant la factorielle... mais bon c'est tellement simple a faire..tu en a pour 2min
    tu peux utiliser la recursivité, tu auras eviron 5lignes de code

  3. #3
    Membre actif Avatar de sorry60
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    802
    Points
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 802
    Points : 253
    Par défaut
    ps : j'adore ton avatar !
    oh pinèse !

  4. #4
    Membre averti Avatar de piff62
    Inscrit en
    Décembre 2003
    Messages
    431
    Points
    417
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Décembre 2003
    Messages : 431
    Points : 417
    Par défaut
    lol merci sorry60 pour mon avatar
    hum .. donuts
    Enfin .. pour en revenir a mon probleme .. ok j'ecris ma mienne a moi de fonction
    merci quand meme
    piff62

  5. #5
    Membre actif Avatar de sorry60
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    802
    Points
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 802
    Points : 253
    Par défaut
    Enfin .. pour en revenir a mon probleme .. ok j'ecris ma mienne a moi de fonction
    fais la partager, comme ca si qqn en a besoin il n'aura qu'à se servir 8)

  6. #6
    Membre averti Avatar de piff62
    Inscrit en
    Décembre 2003
    Messages
    431
    Points
    417
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Décembre 2003
    Messages : 431
    Points : 417
    Par défaut
    Ok si tu veux
    Mais j'ai prefere la version iterative que la recursive
    J'espere que personne ne m'en tiendra rigueur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    int factorielle (int n) 
    {
      int i = 1;
      int res = 1;
     
      while (i<= n)
       res = res * i++;
      return res;
    }
    Voila
    Bon .. ya pas .. faut que je me remette au boulot !

  7. #7
    Membre actif Avatar de sorry60
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    802
    Points
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 802
    Points : 253
    Par défaut
    version récursive

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    unsigned long facto_recur(int n)
    {
       if ( n<= 1 )
       {
          return 1;
       }
       else
       {
          return ( n*facto_recur(n-1) );
       }
    }

  8. #8
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Points
    6 498
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Par défaut
    Pour la factorielle, utilise plutôt unsigned long qu'int, ça monte vite !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    unsigned long fact(int n)
    {
      unsigned long ret = 1;
      while(n > 0)
         ret *= n--;
       return ret;
    }

  9. #9
    Membre actif Avatar de sorry60
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    802
    Points
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 802
    Points : 253
    Par défaut
    Pour la factorielle, utilise plutôt unsigned long qu'int, ça monte vite !
    exact je corrige ca

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 12
    Dernier message: 10/05/2013, 16h45
  2. [Macro Excel] Fonction qui calcule une formule dans une cellule
    Par Enthau dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/07/2008, 17h31
  3. script samba qui calcule le factoriel d'un nombre entier
    Par miryam22 dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 30/05/2008, 11h00
  4. fonction qui calcule log
    Par acacia dans le forum Débuter
    Réponses: 5
    Dernier message: 15/02/2008, 14h19
  5. fonction qui calcule le nombre de checkbox cochés
    Par namstou3 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/10/2007, 14h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo