Table des matières
1 Présentation 1
1.1 Objectifs ........................................... 1
1.2 Python3 avec Spyder .................................... 2
2 Documentation sur l’algorithme de primalité AKS 7
3 Feuille de travaux pratiques 1 9
3.1 Exponentiation rapide ................................... 9
3.2 Fibonacci .......................................... 16
3.3 Temps d’exécution de la multiplication en Python ................... 23
4 Feuille de travaux pratiques 2 33
4.1 Avant d’aller plus loin ................................... 33
4.2 Trier ............................................. 34
4.3 Permuter .......................................... 44
5 Feuille de travaux pratiques 3 57
5.1 Racines énièmes de grands entiers ............................ 58
5.2 Binairevs décimal ..................................... 70
5.3 Un peu d’arithmétique ................................... 74
6 Feuille de travaux pratiques 4 83
6.1 Témoins de non-primalité ................................ 83
6.2 Bref aparté sur l’indicatrice d’Euler ........................... 84
6.3 Témoins de Fermat ..................................... 86
6.4 Témoins de Miller ..................................... 89
6.5 testMillerRabin(n, reps) ............................... 93
6.6 estpetitpremier(n) .................................... 94
6.7 estpremier(n) (Miller-Rabin-Bach) ........................... 95
6.8 La surprenante ecacité du test probabiliste de Miller-Rabin ............ 97
6.9 Construire de grands nombres premiers ........................102
7 Feuille de travaux pratiques 5 105
7.1 Avertissement .......................................105
7.2 Tri par fusion ........................................105
7.3 Tri par tas ..........................................111
i