Partage
  • Partager sur Facebook
  • Partager sur Twitter

boucle for complexité

    21 septembre 2017 à 12:55:33

    Bonjour, j'ai une question : pourquoi lorsque l'on cherche dans une boucle for de 0 à n par exemple la liste des nombres premiers, ou la liste des diviseurs, on peut s'arreter à n/2 ? 

    Je vous remercie, cordialement

    • Partager sur Facebook
    • Partager sur Twitter
      21 septembre 2017 à 13:22:38

      On peut même s'arrêter à ceil(sqrt(n)). La condition d'arrêt serait alors i * i < n.

      -
      Edité par Mad scientist 21 septembre 2017 à 15:15:26

      • Partager sur Facebook
      • Partager sur Twitter
      Un vrai cours de: (C | C++ | Haskell débutant | Haskell intermédiaire | Rust).
        21 septembre 2017 à 14:03:03

        Mad scientist a écrit:

        On peut même s'arreter à ceil(sqrt(n)). La condition d'arrêt serait alors i * i < n.


        Plutôt i * i <= n, non?
        • Partager sur Facebook
        • Partager sur Twitter
          21 septembre 2017 à 14:58:49

          Si i * i == n alors n est un carré parfait. Donc non.

          EDIT: J'ai mal lu la question initiale. Effectivement s'il veut la liste des diviseurs alors il doit prendre en compte ce cas-ci.

          EDIT2: Attention aux overflows !

          -
          Edité par Mad scientist 21 septembre 2017 à 15:21:42

          • Partager sur Facebook
          • Partager sur Twitter
          Un vrai cours de: (C | C++ | Haskell débutant | Haskell intermédiaire | Rust).
          Anonyme
            21 septembre 2017 à 17:20:59

            Ce n'est pas une question en rapport avec le C, je placerai plutôt ce post dans la catégorie Maths.

            -
            Edité par Anonyme 21 septembre 2017 à 17:55:15

            • Partager sur Facebook
            • Partager sur Twitter

            boucle for complexité

            × 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