Trouver les nombres premiers avec une regexp

Liste des GroupesRevenir à fcl regexp 
Sujet : Trouver les nombres premiers avec une regexp
De : om+news (at) *nospam* miakinen.net (Olivier Miakinen)
Groupes : fr.comp.lang.regexp
Date : 31. Oct 2024, 13:58:52
Autres entêtes
Organisation : There's no cabale
Message-ID : <vfvuuc$1bfc$1@cabale.usenet-fr.net>
User-Agent : Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0 SeaMonkey/2.49.4
Bonjour,

Matt Parker vient de sortir une vidéo (en anglais) où il décortique une regexp
qui permet de tester si une chaîne composée de n caractères identiques a comme
longueur (n donc) un nombre premier :

How on Earth does ^.?$|^(..+?)\1+$ produce primes?
<https://www.youtube.com/watch?v=5vbk0TwkokM>


En réalité, cette regexp ^.?$|^(..+?)\1+$ retourne vrai si la longueur n'est
/pas/ un nombre premier. Et du coup le code python que Matt utilise est :

import re
n = (le nombre à tester)
print(not re.match(r'^.?$|^(..+?)\1+$', '1'*n))


Et forcément je pose la question : quelle serait la regexp pour tester
directement si la longueur de cette chaîne de 1 *est* un nombre premier ?

--
Olivier Miakinen

Date Sujet#  Auteur
31 Oct 24 * Trouver les nombres premiers avec une regexp2Olivier Miakinen
1 Dec 24 `- Re: Trouver les nombres premiers avec une regexp1Olivier Miakinen

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal