Partage
  • Partager sur Facebook
  • Partager sur Twitter

La roue de la fortune France IOI

Sujet résolu
    21 août 2019 à 17:43:09

    Bonjour après beaucoup d'essai je reste bloquer sur cette exercice voici mon code et l’énoncer de l'exercice pouvez vous m'aidez svp

    http://www.france-ioi.org/algo/task.php?idChapter=650&iOrder=26

    nbZone=int(input())
    if nbZone>0:
     zone=nbZone-24
    else:
     zone=nbZone+24 
    print(zone)



    • Partager sur Facebook
    • Partager sur Twitter
      12 octobre 2019 à 15:53:18

      Du coup il y a personne pour nous aider.
      • Partager sur Facebook
      • Partager sur Twitter
        12 octobre 2019 à 17:09:42

        La personne a mis en résolu donc on n'a rien à rajouter. Pourquoi, tu es en difficulté avec ce problème ?
        • Partager sur Facebook
        • Partager sur Twitter
          14 octobre 2019 à 18:17:53

          Oui je suis en difficulté. Et j'aurai besoin d'aide

          Voici mon programme:

          nbzones = int(input())
          a = 0
          for loop in range(nbzones):
             if nbzones > 0:
                a=a+1
                if a >= 24:
                   a=0
             if nbzones < 0:
                a=a-1
                if a <= -24:
                   a=0
             a=a*1
          print(a)

          -
          Edité par SkyMonStudio 14 octobre 2019 à 18:21:08

          • Partager sur Facebook
          • Partager sur Twitter
            14 octobre 2019 à 18:52:34

            Avant de regarder comment ça se code en Python, il faut bien avoir compris l'énoncé puis la résolution "à la main". Si a >= 24, il n'est pas vrai que a vaut 0. Par exemple si a = 42, je laisse compter que la roue s'arrête à 18 car on repart de zéro chaque fois qu'on a passé 24. Tu dois faire une division entière. Le cas a<0 est analogue.
            • Partager sur Facebook
            • Partager sur Twitter
              1 août 2023 à 20:03:09

              bonjour.

              il faut utiliser la fonction modulo "%".

              autre indice: le programme est très court.

              • Partager sur Facebook
              • Partager sur Twitter
                2 août 2023 à 2:16:56

                En dehors du fait qu'on déterre un sujet de 2019:
                 
                print((int(input())%24+24)%24)
                • Partager sur Facebook
                • Partager sur Twitter

                Le Tout est souvent plus grand que la somme de ses parties.

                  2 septembre 2023 à 13:55:33

                  PierrotLeFou a écrit:

                  En dehors du fait qu'on déterre un sujet de 2019:
                   
                  print((int(input())%24+24)%24)


                  Bonjour Pierrot

                  Ou plus simplement

                  print(int(input())%24)

                  qui passe tous les tests.

                  EDIT Si n=24q+r (q=quotient, r=reste de la division de n par 24) alors le reste de la division de (r+24) par r est r puisque r+24=24x1+r.

                  -
                  Edité par PascalOrtiz 2 septembre 2023 à 14:09:18

                  • Partager sur Facebook
                  • Partager sur Twitter
                    2 septembre 2023 à 15:44:02

                    @PascalOrtiz: Dans d'autres langages, le modulo d'un nombre négatif est négatif. Je pensais que c'était pareil en Python.
                    • Partager sur Facebook
                    • Partager sur Twitter

                    Le Tout est souvent plus grand que la somme de ses parties.

                      2 septembre 2023 à 21:03:20

                      En Python, le modulo (le reste pour être plus précis) d'un nombre négatif peut être de signe variable, tout dépend du signe du diviseur :

                      >>> 42%-10
                      -8
                      >>> 42%10
                      2
                      >>> -42%-10
                      -2
                      >>> -42%10
                      8
                      >>>

                      les règles sont expliquées ICI. Et effectivement, en C par exemple, les valeurs renvoyées ne sont pas les mêmes qu'en Python.

                      • Partager sur Facebook
                      • Partager sur Twitter

                      La roue de la fortune France IOI

                      × 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