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

Algorithmes et structures de données Discussion :

Nombre d'or


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Nombre d'or
    Bonjour à tous,
    Je suis actuellement en train de faire des exercices d'algorithmes et l'uns d'eux est l'affichage du nombre d'or en se basant sur la méthode de Fibonacci : Un=Un-1+Un-2 avec U1=1 et U2=1.

    Rappel : Le nombre d'or correspond à (1+Racinecarrede5)/2=1,618033989

    Sachant que le nombre d'or se trouve en fesant Un/(Un-1) et que l'on souhaite une précision de 0.000001 lors de l'afichage.

    Cependant, je n'arrive pas à trouver la facon de m'y prendre. Quelqu'un pourrait-il m'indiquer la facon de raison, sans pour autant me donner tout l'algorithme bien-sûr (le but reste quand même que je puisse le faire moi-même ).

    D'avance merci....

  2. #2
    Expert confirmé
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Par défaut
    A priori ta suite doit être monotone (ou plutôt la suite abs(v(n+1) - v(n)) doit être décroissante et tendre vers 0 ou v est la suite qui tend vers le nombre d'or). Donc en calculant la différence de 2 termes consécutifs, dès que tu descend en dessous de 0.000001, tu peux t'ârrêter

  3. #3
    Rédacteur

    Avatar de khayyam90
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2004
    Messages
    10 371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2004
    Messages : 10 371
    Par défaut
    bien le bonjour,

    de par sa definition, la suite de fibonacci est tres simple a implementer de maniere recursive. Mais d'un point de vue purement pratique et economique, il est preferable de l'implenenter de maniere iterative pour ne pas avoir a calculer X fois chacne des termes.

    Ainsi dans une boucle, il suffit de memoriser les 2 termes precedents. Et a chaque tour de boucle on calcule le nouvel element qui remplace le precedent. Ce precedent remplace l'avant dernier et cet avant dernier est oublie. C'est un decalage de variables

  4. #4
    Expert confirmé
    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
    Par défaut
    Citation Envoyé par khayyam90
    bien le bonjour,

    de par sa definition, la suite de fibonacci est tres simple a implementer de maniere recursive. Mais d'un point de vue purement pratique et economique, il est preferable de l'implenenter de maniere iterative pour ne pas avoir a calculer X fois chacne des termes.

    Ainsi dans une boucle, il suffit de memoriser les 2 termes precedents. Et a chaque tour de boucle on calcule le nouvel element qui remplace le precedent. Ce precedent remplace l'avant dernier et cet avant dernier est oublie. C'est un decalage de variables
    En fait tu peux tout à fait faire la seconde méthode en récursif (et il s'agit d'une récursion terminale, donc optimisée avec un bon langage). Par ailleurs, il y a une méthode encore plus rapide en O(log n), que tu retrouveras sans doute sur le Net.

    --
    Jedaï

  5. #5
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2005
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 118
    Par défaut
    Regarde les puissances de
    0 1
    1 1


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

Discussions similaires

  1. Procédure avec un nombre variable d'arguments
    Par charly dans le forum Langage
    Réponses: 15
    Dernier message: 21/06/2002, 11h08
  2. nombre aleatoire
    Par Bob dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 17/06/2002, 18h12
  3. [Comparatifs] Limites nombres tables et quantité de données
    Par benj63 dans le forum Décisions SGBD
    Réponses: 7
    Dernier message: 13/06/2002, 21h31
  4. Nombre de fichiers ouverts simultanément
    Par matrixfan dans le forum C++Builder
    Réponses: 3
    Dernier message: 27/05/2002, 17h47
  5. [Kylix] Probleme de nombre flottant!!
    Par yopziggy dans le forum EDI
    Réponses: 5
    Dernier message: 02/05/2002, 10h13

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