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

Mathématiques Discussion :

Algo sur les factoriels


Sujet :

Mathématiques

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    371
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 371
    Points : 65
    Points
    65
    Par défaut Algo sur les factoriels
    bonjour voila on nous demande de faire un algo sur le calcul de factoriel jusque la pas de probleme

    2eme question on nous demande de calculer e ...
    e = ( + inf )
    somme 1 / (n!)
    (k=0)

    voici lalgo que jai fait
    je lai codé et pas moyen quil marche je ne comprend pas pourquoi je pense avoir le bon algo mais ce nest pas le cas
    le voici :

    x :entier
    n:entier


    ecrire(entrer un nombre)
    lire (nombre)
    Pour x de 1 à nombre, x++
    Pour n de nombre a 1 , n--
    k*=1/n
    Finpour

    somme+=k
    finpour

    fin

  2. #2
    Membre éprouvé Avatar de Nemerle
    Inscrit en
    Octobre 2003
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 106
    Points : 1 213
    Points
    1 213
    Par défaut
    Citation Envoyé par Pugebad Voir le message

    2eme question on nous demande de calculer e ...
    e = ( + inf )
    somme 1 / (n!)
    (k=0)
    Déjà c'est 1/(k!) par 1/(n!).

    Ton algo calcule donc

    e = ( n)
    somme 1 / (k!)
    (k=0)
    pour un n donné...

    Déjà:

    - arrète les notations ++, -- ou k*
    - initialise & réintialise proprement tes variables!
    - Dans ta formule ci-dessus, "k" commence à ZERO...

    Et tu devrais t'en sortir!
    Nemerle, mathématicopilier de bars, membre du triumvirat du CSTM, 3/4 centre

  3. #3
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 76
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Points : 1 913
    Points
    1 913
    Par défaut
    Il y a pour cela une grosse astuce;
    Calculer 1/n
    ajouter 1 et diviser par n-1
    ajouter 1 et diviser par n-2
    ....
    avant dernière étape:
    ajouter 1 et diviser par deux
    dernière étape: ajouter 2
    on obtient donc un algo linéaire en n sans débordements
    Ce qu'on trouve est plus important que ce qu'on cherche.
    Maths de base pour les nuls (et les autres...)

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 298
    Points : 886
    Points
    886
    Par défaut
    Citation Envoyé par Zavonen Voir le message
    Il y a pour cela une grosse astuce;
    Calculer 1/n
    ajouter 1 et diviser par n-1
    ajouter 1 et diviser par n-2
    ....
    avant dernière étape:
    ajouter 1 et diviser par deux
    dernière étape: ajouter 2
    on obtient donc un algo linéaire en n sans débordements
    Salut, comment s'appelle cette formule ? Elle doit bien avoir un nom...
    Très bonne astuce !

  5. #5
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 76
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Points : 1 913
    Points
    1 913
    Par défaut
    Je pense que c'est un classique, je l'ai trouvé dans un bouquin allemand intitulé "Mathématiques élémentaires d'un point de vue algorithmique". C'est marrant parce que la somme se construit à l'envers, de droite à gauche, de sorte qu'il n'y a pas convergence au sens habituel, on avance vers le résultat à pas de plus en plus grands.
    Ce qu'on trouve est plus important que ce qu'on cherche.
    Maths de base pour les nuls (et les autres...)

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    371
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 371
    Points : 65
    Points
    65
    Par défaut
    merci nemerle
    et comment fait on pour

    (n)
    e = somme 1/k!
    (k=0)

    jai beau retourner le pb je narrive pas

  7. #7
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 76
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Points : 1 913
    Points
    1 913
    Par défaut
    la formule est fausse.
    e^x= somme x^k/k!
    Même chose que précédemment mais en ajoutant x au lieu de 1 à chaque étape.

    s=x/n
    s=(x+s)/(n-1)=x/(n-1) + x^2/(n-1)n
    s=(x+s)/(n-2)= x/(n-2)+x^2/(n-2)(n-1) + x^3/(n-2)(n-1)n
    ......
    Ce qu'on trouve est plus important que ce qu'on cherche.
    Maths de base pour les nuls (et les autres...)

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    371
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 371
    Points : 65
    Points
    65
    Par défaut
    je vois que ta methode a lair correct cependant je souhaite utiliser des boucles iteratives , ici Pour

  9. #9
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    et si x=1, on tombe sur la formule donnée, non ?

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    371
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 371
    Points : 65
    Points
    65
    Par défaut
    bon tant pis merci quand meme

  11. #11
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Citation Envoyé par Pugebad Voir le message
    bon tant pis merci quand meme
    J'ai l'impression que tu n'as pas lu le premier message de Zavonen où il donnait une excellente méthode pour calculer cette somme ?

    --
    Jedaï

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    371
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 371
    Points : 65
    Points
    65
    Par défaut
    si mais ca ne ma pas plus eclairer que ca

  13. #13
    Membre éprouvé Avatar de Nemerle
    Inscrit en
    Octobre 2003
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 106
    Points : 1 213
    Points
    1 213
    Par défaut
    Citation Envoyé par Pugebad Voir le message
    merci nemerle
    et comment fait on pour
    (n)
    e = somme 1/k!
    (k=0)
    jai beau retourner le pb je narrive pas
    si tu ne comprends pas le Zavonen,un très bon, renvenons à la base...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    entier s
    e=0
    pour k de 0 à n
       s=1
       pour i de 1 à k --- cette boucle n'est pas parcourrue pour k=0......
          s=s*i
       fin pour i
       e=e+1/s
    fin pour k
    résultat: e
    C'est la base, mais cela s'améliore, avec Zavonen par exemple...
    Nemerle, mathématicopilier de bars, membre du triumvirat du CSTM, 3/4 centre

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    371
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 371
    Points : 65
    Points
    65
    Par défaut
    merci jai mieux compris comme cela
    merci a tous qu'ont repondu

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

Discussions similaires

  1. [exercice] algo sur les tableaux
    Par omzoway dans le forum Algorithmes et structures de données
    Réponses: 31
    Dernier message: 17/05/2011, 17h28
  2. Algo sur les ABR
    Par scary dans le forum Algorithmes et structures de données
    Réponses: 17
    Dernier message: 01/02/2009, 17h32
  3. Petit algo sur les combinaisons
    Par Blaede dans le forum Mathématiques
    Réponses: 5
    Dernier message: 02/03/2008, 23h51
  4. Algo sur les graphes
    Par BatuBou dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 27/12/2007, 18h33
  5. Réponses: 24
    Dernier message: 27/09/2005, 21h16

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