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

Vos contributions VB6 Discussion :

[Math] Fonction pour calculer Factorielle(n)


Sujet :

Vos contributions VB6

  1. #1
    Membre éclairé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 332
    Points : 718
    Points
    718
    Par défaut [Math] Fonction pour calculer Factorielle(n)
    Bonjour,
    en regardant la proposition pour savoir si un nombre est premier, je me rappelle d'une formule qui concerne les nombres premiers qui utilise les factorielles "!" en notation mathématique.http://fr.wikipedia.org/wiki/Formule...mbres_premiers


    apparemment il n'y a rien en vb qui permette de calculer les factorielles.
    Il n'y a rien de plus simple (plus d'info ici), mais pour ceux qui n'y entendent rien en mathématique je propose une fonction Factorielle:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Private Function Factorielle(n As Integer) As Double
      On Error GoTo Erreur
      Factorielle = 1
      For i = 1 To n
        Factorielle = Factorielle * i
      Next
     
      Exit Function
    Erreur:
      MsgBox "Dépassement de capacité, veuillez saisir un nombre compris entre 1 et 170"
      Exit Function
    End Function
    Ainsi, lors d'un calcul, il suffira de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    'exemple : 2 + 5!
    res = 2 + Factorielle(5)

    Voilà, c'est tout simple, mais j'espère que ça servira à quelqu'un.

    A bientôt.
    J'attends vos éventuelles remarques.
    Xavier

  2. #2
    Membre chevronné
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

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

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Points : 1 788
    Points
    1 788
    Par défaut
    just une remarque

    lorsque je lis ceci
    Citation Envoyé par Asdorve
    MsgBox "Dépassement de capacité, veuillez saisir un nombre compris entre 1 et 170"
    ca veux dire que tu connais deja la borne sup ??

    Alors pourquoi faire des calculs alors que tu sais d'office que ca ne va pas aboutir ??

    faire un test sur l'appartenance a l'interval [1,170] avant de faire les calculs ??

    Ca donnerais un truc de ce genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Private Function Factorielle(n As Integer) As Double
     
      if n > -1 and n < 171 then   
           Factorielle = 1
           For i = 1 To n
                Factorielle = Factorielle * i
           Next
       else
           MsgBox "Veuillez saisir un nombre compris entre 1 et 170"
       end if
    End Function
    "Toute question a une reponse. Et chaque reponse est une nouvelle question." Albert EINSTEIN

    En cas de Question resolu, n'oubliez pas

  3. #3
    Membre actif Avatar de Jihnn
    Inscrit en
    Décembre 2005
    Messages
    330
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 330
    Points : 273
    Points
    273
    Par défaut
    (Je te conseille aussi de déclarer la variable i, et de commencer ta boucle For par 2, parce que x * 1 = x ^^)

Discussions similaires

  1. Réponses: 6
    Dernier message: 12/01/2008, 18h21
  2. [Débutant] Fonction pour calcul d'une suite récurrente
    Par moimoi89 dans le forum MATLAB
    Réponses: 2
    Dernier message: 31/10/2007, 17h08
  3. Existe-t-il une fonction pour calculer le kurtosis
    Par bichou dans le forum MATLAB
    Réponses: 1
    Dernier message: 19/06/2007, 17h01
  4. fonction pour calculer le temps de processus
    Par torNAdE dans le forum Threads & Processus
    Réponses: 2
    Dernier message: 23/10/2006, 15h54
  5. Réponses: 6
    Dernier message: 22/11/2005, 17h08

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