manim crible ératosthène python

Crible d’Ératosthène: animation avec Python et manim

Nous allons nous pencher dans cet article sur le crible d’Ératosthène, et plus particulièrement la façon dont on peut créer une animation avec Python et manim.

La vidéo

D’abord, voici la vidéo obtenue:

Elle vous plaît ? Ok, on peut continuer… Notez que la musique, c’est cadeau, c’est pour moi! Parce que l’extension manim, elle n’ajoute pas la musique hein?!

animation crible Ératosthène python manim

Crible d’Ératosthène, animation avec Python et manim: le code source

Je vous avez parlé du crible dans cet article, donc je ne vais pas revenir dessus. Je vais juste donner le code source utilisant manim.

Partie réservée aux abonné·e·s de ce site.
Pour un abonnement à vie (10 €), allez dans la boutique.

Le code est assez bien commenté pour que chacun·e puisse comprendre à quoi correspondent les différentes partie.

C’est quoi le crible d’Ératosthène ?

Le principe est simple: on souhaite obtenir la liste de tous les nombres premiers de 2 à 100 (par exemple).

Un nombre premier étant un nombre divisible uniquement par 1 lui-même, il suffit de supprimer tous les nombres entiers qui possèdent un diviseur.

  • On commence donc par dresser la liste de tous les nombres entiers de 2 à 100 (on ne commence pas par “1” car ce dernier n’est pas un nombre premier, contrairement à “2”);
  • disposons maintenant les nombre dans une grille carrée (pour plus de lisibilité);
  • sélectionnons le premier nombre disponible (ici, “2”), et on supprime tous les autres nombres de la grille qui sont divisibles par “2” (car, s’ils sont divisibles par 2, par définition, ils ne sont pas premiers);
  • le nombre entier suivant qui n’est pas supprimé est “3”, puis on supprime tous les multiples de 3 qui suivent;
  • le suivant: ce n’est pas “4” (car il a été supprimé), mais “5”. On supprime alors tous les multiples de 5 qui suivent;
  • le nombre qui vient après est alors “7”; on le sélectionne et on supprime tous les multiples de 7 qui suivent;
  • on continue ainsi jusqu’au dernier nombre possible, à savoir “97”.

À la fin, ne restent que les nombres premiers.

Cet article a 2 commentaires

  1. Merci le problème est réglé

Laisser un commentaire