Mathématiques

Question

bonjour je ne comprend pas quelqu'un pourrait m'expliquer​
bonjour je ne comprend pas quelqu'un pourrait m'expliquer​

1 Réponse

  • Bonsoir,

    1) % renvoie le reste d'une division euclidienne donc là n%2 renvoie le reste de n/2 par exemple: 7%2 ça renvoie 1 et 8%2 renvoie 0. Le %2 sert souvent pour vérifier si c'est un nombre pair ou un nombre impair. (divisible par quelque chose)

    for k in range(3,n,2), il s'agit d'une boucle "pour" (qui va se répéter plusieurs fois). Mots pour mots: Pour k allant de 3 à n-1 avec un pas de 2.

    La fonction range() est définie de la manière suivante: range(start, stop, step)

    Start: première valeur de la variable (ici k commence à 3).

    Stop: valeur à partir de laquelle la boucle s'arrête (donc quand k = n, donc il exécute quand k = n - 1 mais pas quand k = n ou plus).

    Step: il s'agit du pas, donc de combien augment k à la fin de chaque boucle (la valeur par défaut étant 1).

    2) Si n = 12:

    if n%2 == 0 renvoie True (vrai) car 12 est pair donc en entre dans le if.

    Donc ça nous retourne "non".

    Si n = 15:

    if n%2 == 0 renvoie False (faux)  donc on n'exécute pas ce qu'il y a dans le if.

    for k in range(3,15,2):

       if n%k == 0

    Si k = 3: 15%3 == 0 donc la fonction retourne "non".

    Si n = 23:

    if n%2 == 0 renvoie False donc on n'exécute pas ce qu'il y a dans le if.

    for k in range(3,23,2):

      if n%k == 0

    Si k = 3: 23%3 != (différent) 0

    Si k = 5: 23%5 != 0

    Si k = 7: 23%7 != 0

    Si k = 9: 23%9 != 0

    Si k = 11: 23%11 != 0

    Si k = 13: 23%13 != 0

    Si k = 15: 23%15 != 0

    Si k = 17: 23%17 != 0

    Si k = 19: 23%19 != 0

    Si k = 21: 23%21 != 0

    On a atteint k = 23 donc on s'arrête et la fonction nous renvoie "oui".

    3) Tu l'auras deviner, cette fonction permet de dire si le nombre n est oui ou non un nombre premier !

    Bonne soirée,

    Thomas