Partage
  • Partager sur Facebook
  • Partager sur Twitter

Exercice Python

Aide exercice Python débutant

    5 décembre 2015 à 22:47:11

    Bonjour à tous,

    j'ai des exercices d'entrainement en python et je suis largué face à l'un d'entre eux.

    L'énoncé est : "Supposons que le parcours de Pierre fasse cinq kilomètres et que celui de Claire n'en fasse que deux. S'ils partent tous les deux en même temps du point de départ, et qu'ils courent exactement à la même vitesse, Pierre aura fait deux tours de lac et Claire en aura fait cinq, avant de se recroiser pour la première fois. Qu'en est-il de manière générale ?

    Étant donné les variables A et B qui représentent respectivement les distances parcourues par Pierre et par Claire en kilomètres, écrivez un programme qui calcule le nombre minimal de tours qu'auront fait Pierre et Claire avant de se recroiser pour la première fois au point de départ, sachant qu'ils courent à la même vitesse. Stockez respectivement ces deux nombres de tours dans les variables pierre et claire."

    Est ce que vous savez m'aider ? Merci d'avance

    • Partager sur Facebook
    • Partager sur Twitter
      6 décembre 2015 à 1:22:20



      Bonsoir KazmaProd,

      Pour clarifier le problème prenons le petit schéma ci-dessus: Claire et Pierre partent en même temps du point D et à la même vitesse qu'ils vont garder constante à v. A est la distance de la boucle de Pierre et B celle de Claire.

      On peut algébriquement dire qu'au point D la distance xd parcourue par Pierre vaut v.(A.np/v), où np est le nombre de tour effectué par Pierre. (L'expression (A.np/v) est en fait le temps passé à faire np tours. On retrouve donc bien la célèbre expression x=v.t)

      v se simplifiant, on a xd=A.np.

      De même on a xd=B.nc, où nc est le nombre de tours effectués par Claire.

      Il se rencontreront donc à chaque fois que  A.np=B.nc avec np et nc entiers.

      Pour reparler PYTHON, il te suffit donc de faire un boucle dans laquelle tu fais varier np à partir de 1, tu calcules le nc correspondant, si nc est entier tu as la fin de ta boucle et le couple nc,np, sinon tu passes a np=2 ect...

      Dans notre exemple si np=1, nc=5/2, fractionnaire. On passe à np=2 nc=10/2=5. Bingo!! np=2 et nc=5 et c'est bien la solution minimale car on a commencé avec np=1.

      Un petit rappel d'aide pour d'éventuels tests:  l'opérateur de division % qui te donne le reste de la division.

      Bon amusement

      A+

      • Partager sur Facebook
      • Partager sur Twitter

      Exercice Python

      × 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