Partage
  • Partager sur Facebook
  • Partager sur Twitter

France IOI // Etude de marché Besoin d'aide !!!

    1 septembre 2018 à 11:15:08

    Bonjour, 

    C'est un exercice France IOI étude de marché :

    "

    Ce que doit faire votre programme :

    On vous donne le numéro du produit préféré par différentes personnes. Écrivez un programme qui indique pour chaque numéro de produit, le nombre de personnes dont c'est le produit préféré.

    Entrée

    Les deux premiers entiers à lire sont le nombre total de produits nbProduits et le nombre de personnes nbPersonnes(nbPersonnes <= 1000) ayant exprimé leur souhait.

    On lit ensuite nbPersonnes entiers : les numéros des produits préférés des différentes personnes. Les produits sont numérotés de 0 à nbProduits - 1.

    Sortie

    Vous devez afficher nbProduits entiers : pour chaque produit dans l'ordre de leur numéro, affichez le nombre de personnes qui le préfèrent. " 

    Voici mon code :

    N = 1024
    tableau = [0] * N
    nbProduit = int(input())
    nbPersonnes = int(input())
    for i in range(nbPersonnes):
       tableau[i] = int(input())
    for i in range(nbProduit):
       total = 0
       for j in range(nbPersonnes):
          if (tableau[j]==i):
             total = total+ 1
       print(total)

    Seulement j'ai  erreurs au test 7,13 et 14 : "Votre programme a dépassé la limite de temps : il est trop lent ou bien boucle indéfiniment."

    Quelqu'un peut il m'expliquer ?? 

    Merci !

    • Partager sur Facebook
    • Partager sur Twitter
      22 janvier 2020 à 11:36:09

      Bonjour,

      C'est normal en effet, car la boucle est infinissable;

      Tu as en effet oublier de poser la limite des études.

      nbPersonnes<=1000

      Sinon la boucle ne s'arrêtera jamais et on ne pourra jamais afficher les valeurs qu'on veut.

      Essaye de l'inclure, sinon je suis prêt à te donner le programme le cas échéant.

      Bon courage,

      • Partager sur Facebook
      • Partager sur Twitter
        1 novembre 2020 à 16:50:27

        Bonjour, 

        j'aimerai savoir ou vous le placez le nbPersonnes<=1000  dans votre programme.



        je vous remercie d'avance.


        -
        Edité par PhœnixX 1 novembre 2020 à 16:57:15

        • Partager sur Facebook
        • Partager sur Twitter
          1 novembre 2020 à 19:27:59

          C'est un double déterrage. Bravo!
          • Partager sur Facebook
          • Partager sur Twitter

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

            22 mars 2022 à 21:12:40

            Bonsoir, j'ai trouvé la réponse du code:

            i = [0] * 1000
            nbProduits = int(input())
            nbPersonnes = int(input())
            for loop in range(nbPersonnes):
               a = int(input())
               i[a] = i[a] + 1
            for loop in range(nbProduits):
               print(i[loop])



            • Partager sur Facebook
            • Partager sur Twitter
              23 mars 2022 à 0:16:43

              @AlexandreNon:
              Ton code est sans doute intéressant, mais tu ne devrais pas déterrer de vieux sujets.
              • Partager sur Facebook
              • Partager sur Twitter

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

              France IOI // Etude de marché Besoin d'aide !!!

              × 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