Qui aura 20 en maths ? : tu es en Terminale et tu veux tester ton niveau ? Rendez-vous le 30 janvier 2027 à l’EFREI (Villejuif) 🎁 À la clé : 2 MacBook, 2 iPhone, 2 iPad et 2 paires d’AirPods à gagner
On considère la fonction Python ci-dessous, où a ** k désigne ak et a ** k % m le reste de la division euclidienne de ak par m.
Question 1
Que renvoie l'instruction restes(2, 7, 7) ?
Correction
La boucle calcule, pour k allant de 0 à 7, le reste de la division euclidienne de 2k par 7 : 20=1 ; 21=2 ; 22=4 ; 23=8≡1 ; 24=16≡2 ; 25=32≡4 ; 26=64≡1 ; 27=128≡2[7] L'instruction renvoie la liste
[1, 2, 4, 1, 2, 4, 1, 2]
Question 2
Quelle conjecture peut-on faire ? La démontrer.
Correction
Soient m un entier naturel (m≥2), a, b, c et d des entiers relatifs vérifiant : a≡b[m] et c≡d[m].
a+c≡b+d[m]
a×c≡b×d[m]
Pour tout entier naturel k : ak≡bk[m]
Conjecture : les restes se répètent dans l'ordre 1, 2, 4 : la suite des restes est périodique, de période 3. Deˊmonstration :23=8≡1[7]. Pour tout entier naturel k : 2k+3=2k×23≡2k×1≡2k[7]. Les nombres 2k+3 et 2k ont donc le même reste :
la suite des restes est périodique de période 3
Question 3
Le calcul de a ** k devient très long lorsque k est grand. Compléter la ligne 6 de la fonction ci-dessous pour qu'elle calcule chaque reste à partir du précédent.
Correction
Soient m un entier naturel (m≥2), a, b, c et d des entiers relatifs vérifiant : a≡b[m] et c≡d[m].
a+c≡b+d[m]
a×c≡b×d[m]
Pour tout entier naturel k : ak≡bk[m]
Si r est le reste de ak, alors ak≡r[m], donc ak+1=ak×a≡r×a[m] : le reste suivant est le reste de la division euclidienne de r×a par m.
Les nombres manipulés restent ainsi inférieurs à m×a : le calcul est rapide même pour de grandes valeurs de N.
Signaler une erreur
Aide-nous à améliorer nos contenus en signalant les erreurs ou problèmes que tu penses avoir trouvés.
Connecte-toi ou crée un compte pour signaler une erreur.