Partage
  • Partager sur Facebook
  • Partager sur Twitter

fibonacci

Sujet résolu
    19 juillet 2011 à 23:52:30

    Bonjour,

    Voici mon problème.

    Chaque années un lapin est volé, la première année un mâle M,la seconde année une femelle F,la troisième un mâle et une femelle, ce qui suis le schéma suivant : M,F,MF,FMF,MFFMF,FMFMFFMF...

    1/J'aimerai savoir comment peut on connaitre le sexe du milliardième lapin volé?J'ai tester dans différent langage de programmation seulement la chaine FMFMFFMF deviens rapidement beaucoup trop grande pour être stocké.

    2/Comment connaitre le nombre de mâle dans ce milliard,nombre de femelles?

    3/Nombre d'années pour enlever X lapin,avec X variant.

    4/Nombre de lapins enlevés durant l’année X.

    Merci de vos réponses.
    • Partager sur Facebook
    • Partager sur Twitter
      20 juillet 2011 à 1:01:47

      Si j'ai bien compris, pour la chaîne d'une année, on met à la suite les chaînes des deux années précédentes ?
      • Partager sur Facebook
      • Partager sur Twitter
        20 juillet 2011 à 1:07:29

        Oui voila c'est tout à fait ça
        • Partager sur Facebook
        • Partager sur Twitter
          20 juillet 2011 à 1:14:44

          C'est des maths ça...
          Ecris l'opération mathématique d'abord, on verra pour traduire ça en php. Comme ça on fera pas tout le devoir ;)
          • Partager sur Facebook
          • Partager sur Twitter
            20 juillet 2011 à 1:17:00

            Justement je vous demande s'il existe des formules,moi je m'occuperai de traduire sa dans un langage.
            Et s'il n'y a pas de formules,comment ferriez vous?Je ne veut pas de code juste des explications
            • Partager sur Facebook
            • Partager sur Twitter
              20 juillet 2011 à 1:25:53

              Bonjour, alors j'ai trouvé une formule dans un vieux bouquin de maths qui pourra t'aider pour la question n°4 que tu as posée. Dans la suite de Fibonacci, le Nième terme peut être trouvé grâce à la formule suivante:
              <math>\(Fn=\frac{(1+\sqrt5)^n-(1-\sqrt5)^n}{2^n\sqrt5}\)</math>

              C'est une formule découverte par Binet en 1853. J'espère que ça t'aidera... :-°

              Aussi relativement à la question n°2 j'ai l'impression que le nombre de femelles au rang n est le nombre de lapins au rang n-1. Je n'ai pas de preuve, mais j'ai regardé avec les premiers termes et cela a l'air de coller. Pour avoir le nombre de mâles ensuite ce n'est pas un problème tu fais la différence entre le nombre obtenu par la formule et le nombre de femelles...

              Edit: J'ai trouvé pourquoi, le nombre de femelles suit aussi une suite de fibonacci mais en décalé par rapport au nombre total de lapins puisque le nombre initial de femelles volées est 0. Et en effet c'est bien une suite de Fibonacci parce que pour obtenir le nombre suivant de femelles il faut ajouter les deux nombres précédents (regarde la suite et tu verras que c'est bien le cas :) ). Il s'en suit que le nombre de femelles au rang n vaut le nombre de lapins au rang n-1 puisque l'on est en présence de deux suites de fibonacci (et donc qui prennent les mêmes valeurs mais en décalé).
              • Partager sur Facebook
              • Partager sur Twitter
                20 juillet 2011 à 1:56:34

                J'ajouterais que le nombre de mâles suis aussi une suite de Fibonacci. La différence entre les trois suites (total, mâles, femelles) est dans les conditions initiales.
                Pour le nombre total, les conditions initiales (année 1 et 2) sont:
                <math>\(u_1 = 1 \ u_2 = 1\)</math>
                Pour le nombre de mâles:
                <math>\(v_1 = 1 \ v_2 = 0\)</math>
                Pour le nombre de femelles:
                <math>\(w_1 = 0 \ w_2 = 1\)</math>
                Dans tous les cas la suite peut s'écrire sous la forme:
                <math>\(u_{n+2} = u_{n+1}+u_{n}\)</math>
                La page Wikipédia propose une résolution pour la suite "classique" qui correspond au nombre total de lapins enlevés:
                Suite de Fibonacci
                Il est ensuite aisé d'adapter pour les deux autres suites...
                • Partager sur Facebook
                • Partager sur Twitter
                  20 juillet 2011 à 10:04:28

                  Ta première question n'a pas beaucoup de sens pour moi...
                  En effet, en écrivant la suite comme ceci :
                  <?php
                  $F = 44; /* nombre d'années */
                  $lapins[1] = 1;
                  $lapins[2] = 1;
                  
                  for($i=3;$i<=$F;$i++)
                  {
                  $lapins[$i] = $lapins[$i-1] +$lapins[$i-2];
                  }
                  echo 'Lapins = : '.$lapins[$F];
                  ?>
                  

                  On constate que pour l'année 44 (F=44) on a 701 408 733 lapins et pour l'année 45 on en a 1 134 903 170. Donc le milliardième lapin est quelque part entre les deux. La suite ne te donnera pas le sexe de ce lapin.
                  Ainsi ta deuxième question perd de son sens aussi : 1 000 000 000 n'étant pas dans la suite, impossible de connaître le nombre précis, même si en commençant par un mâle, les femelles auront toujours une petite longueur d'avance.
                  Pour le reste, tu devrais pouvoir te débrouiller avec ce début de code.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    20 juillet 2011 à 18:04:36

                    Citation : philodick

                    Ta première question n'a pas beaucoup de sens pour moi...
                    On constate que pour l'année 44 (F=44) on a 701 408 733 lapins et pour l'année 45 on en a 1 134 903 170. Donc le milliardième lapin est quelque part entre les deux. La suite ne te donnera pas le sexe de ce lapin.
                    Ainsi ta deuxième question perd de son sens aussi : 1 000 000 000 n'étant pas dans la suite, impossible de connaître le nombre précis, même si en commençant par un mâle, les femelles auront toujours une petite longueur d'avance.
                    Pour le reste, tu devrais pouvoir te débrouiller avec ce début de code.


                    Au lieu de dire que la question n'a pas de sens, pars du principe qu"elle a un sens et cherche le.

                    Pour répondre à la question du milliardième lapin, il faut décomposer un milliard en somme de nombres de Fibonnacci de la façon suivante :
                    trouver le plus grand a tel que <math>\(F_1+F_2+\dots+F_a\leq1000000000\)</math>
                    le milliardième lapin a été enlevé pendant la (a+1)ème année et son rang dans cette année est <math>\(n=1000000000-(F_1+F_2+\dots+F_a)\)</math>.
                    on est ramené au problème de trouver le sexe du nème lapin dans la chaîne de l'année a+1.
                    Pour ça il faut comparer n avec <math>\(F_{a-1}\)</math> puisque la chaîne est composée de deux chaînes de longueurs <math>\(F_{a-1}\)</math> et <math>\(F_{a}\)</math> pour savoir si le lapin est dans la partie qui vient de l'année a ou a-1. Ensuite tu remplace n par <math>\(n-F_{a-1}\)</math> si <math>\(n>F_{a-1}\)</math> et a par a-1 ou a-2 et tu recommence jusqu'à arriver à la chaîne de l'année 1 ou 2 (et alors tu peux déterminer le sexe).
                    • Partager sur Facebook
                    • Partager sur Twitter
                      20 juillet 2011 à 18:50:40

                      Citation : Thomash


                      Au lieu de dire que la question n'a pas de sens, pars du principe qu"elle a un sens et cherche le.


                      Tu pars du principe arbitraire qu'à l'intérieur de l'année, le 'prélèvement' suit le même principe : ce n'est pas dans l'énoncé. Tous les lapins peuvent être volés le décembre, où la moitié pendant le 1er trimestre, etc...
                      Admet donc juste qu'on puisse être d'un avis différent du tien.
                      Edit : c'était un pb PHP au départ qui a été déplacé vers la rubrique Math apparemment.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        20 juillet 2011 à 19:02:40

                        Il n'est jamais question de répartition des vols durant l'année, mais on a bien une information: l'écriture MFFMF suggère bien un certain enchaînement dans les vols (d'abord un mâle puis une femelle puis une autre...), donc la question 1 est en ce sens parfaitement légitime.
                        • Partager sur Facebook
                        • Partager sur Twitter

                        fibonacci

                        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                        • Editeur
                        • Markdown