L'essentiel: estimation de la complexité sur un exemple

Поділитися
Вставка
  • Опубліковано 23 січ 2025

КОМЕНТАРІ • 7

  • @gor3c6
    @gor3c6 7 місяців тому +1

    Ton programme ne marche pas: il exclut le nombre 2. 2 est divisible par 2 donc si n (n≠2) est divisible par 2 et aucun autre nombre par exemple, il sera qualifié de premier.
    D'ailleurs pourquoi 3*(k-2) opérations à 1:20 ?

    • @JeanJulienFleck
      @JeanJulienFleck  7 місяців тому +2

      Je pense que les deux incompréhensions sont liées:
      * `range(a, b)` donne tous les entiers de `a` (inclus !) à `b` (exclu) et si on les compte, il y en a bien b-a. Si on prend par exemple `range(2, k)`, alors la boucle s'exécute k-2 fois. Prenez par exemple k=10, alors `i` prend les valeurs 2, 3, 4, 5, 6, 7, 8 et finalement 9 (car 10 est exclu), soit huit valeurs différentes, ce qui est bien égal à 10 - 2 ;
      * par conséquent, à 1:20, comme on fait au plus trois opérations à chacun des k-2 tours de la boucle `range(2, k)`, on a au plus 3*(k-2) opérations ;
      * finalement, pour l'affirmation qui dit que le programme ne prend pas en compte 2, elle est invalidée par le fait que `range` **inclut** le premier argument (donc `i` et `k` prennent tous deux la valeur 2 au départ donc on vérifie bien les divisions par 2). La seule fois où la seconde boucle ne s'exécute pas, c'est justement quand `k` vaut 2 (car 2 ne peut pas à la fois être inclus et exclu donc la boucle s'exécute 2-2 = 0 fois), donc 2 est bien qualifié de nombre premier et c'est le seul nombre pair pour lequel c'est le cas.
      J'espère que cela vous aura aidé à y voir plus clair.

  • @adskills8022
    @adskills8022 2 місяці тому

    je nai pas compris ta remarque à 2:29 sur la racine explique moi stp

    • @JeanJulienFleck
      @JeanJulienFleck  2 місяці тому

      Si vous avez que a * b = c avec a = sqrt(c) (essayez pour voir).

  • @arcane-2947
    @arcane-2947 2 місяці тому

    Mais merci énormément ça va vraiment droit au but

  • @GabrielNastrot
    @GabrielNastrot 10 місяців тому

    merci pour le cours !