Réponse:
Alors c'est très simple je t'explique :
Juste pour commencer, si k divise n, ça veut dire que n÷k = un nombre ENTIER
Ta fonction mystère prend un chiffre. Nous on va faire un exemple, par exemple, n=25
Tu sais aussi que k=2
Tant que k ne divise pas n, tu on fait k=k+1 et on réessaie.
Pour notre exemple, 2 ne divise pas 25 (on obtient un nombre décimal donc c'est pas bon)
Donc on fait k = k +1 = 2+1 = 3
On recommence : 3 ne divise pas 25, donc on continue
k = 3+1 = 4
4 ne divise pas 25 donc on recommence
k = 4+1 = 5
Là, 5 divisé 25 ! (25÷5 = 5)
Donc la boucle "tant que" s'arrête.
Ensuite ta fonction regarde si k=n et si c'est le cas, elle dit "vrai", sinon elle dit "faux"
Dans notre exemple, k = 5 et n=25
Donc k =/= n
Donc la fonction va envoyer "FAUX"
Donc si tu remarques, la fonction envoie "vrai" quand le premier diviseur de n qu'elle trouve est n.
Donc elle te renvoie "vrai" pour les chiffres qui ont pour seuls diviseurs eux-mêmes ! Donc les chiffres premiers.
En écrivant n=131071, l'algorithme à dit "vrai".
Donc le plus petit diviseur de 131 071 que la fonction à trouvé est lui-même, donc c'est un nombre premier.