Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Abonnements

Regex et nombres premiers

J’aime bien faire des Regex. Je prends souvent ça comme un jeu comme d’autres font des mots croisés et il arrive régulièrement qu’on me demande d’écrire un pattern pour valider un format ou modifier une chaine de caractères par exemple.

Cependant, j’ai voulu écrire ce post pour vous parler d’une utilisation hors norme des Regex et totalement hallucinante de mon point de vue que mon ami Gilles a posté sur son wall FB : les Regex permettent de déterminer si un nombre est premier !

J’ai été plus que septique et j’ai voulu testé avant même la lecture et ça marche bien.

Vous pouvez également tester avec le code suivant :

for (; ; )
{
    var value = int.Parse(Console.ReadLine()); 
    var isPrime = ! Regex.IsMatch(new string('1', value), @"^1?$|^(11+?)\1+$");
    Console.WriteLine(isPrime);
}

Voici l’article pointé par Gilles expliquant le fonctionnement de la Regex : http://www.noulakaz.net/weblog/2007/03/18/a-regular-expression-to-check-for-prime-numbers/

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :

Publié mercredi 24 avril 2013 21:09 par Matthieu MEZIL

Commentaires

# re: Regex et nombres premiers @ mercredi 24 avril 2013 23:24

Concernant le StringBuilder… => new string("1", value) :)

Pour tester les regex, je pense toujours que PowerShell c'est cool :)

Par exemple :

([regex]"^1?$|^(11+?)\1+$").Match((New-object string '1', 37))

ou

(New-object string '1', 37) -match "^1?$|^(11+?)\1+$"

["37" étant ici mon nombre à tester]

J'aime beaucoup cette Regex en tout cas ;)

Troborg

# re: Regex et nombres premiers @ jeudi 25 avril 2013 11:18

J'ai mis à jour mon post. En C# aussi on a new String('1', value) :)

Matthieu MEZIL

# re: Regex et nombres premiers @ jeudi 25 avril 2013 19:42

En fait c'était pour souligner ça que j'avais mis mon commentaire à la base :D (le powershell, c'était juste en passant :P )

Et sinon ma source originale était: https://twitter.com/RegexTip

Il y a régulièrement des choses sympas sur ce compte :)

Troborg

Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Emportez votre sélection de la MSDN dans la poche ? par Blog de Jérémy Jeanson le il y a 9 heures et 56 minutes

- [ #Office365 ] Pb de connexion du flux Yammer ajouté à un site SharePoint par Le blog de Patrick [MVP SharePoint] le il y a 15 heures et 17 minutes

- NFluent & Data Annotations : coder ses propres assertions par Fathi Bellahcene le il y a 15 heures et 25 minutes

- Installer un site ASP.net 32bits sur un serveur exécutant SharePoint 2013 par Blog de Jérémy Jeanson le 04-17-2014, 06:34

- [ SharePoint Summit 2014 ] Tests de montée en charge SharePoint par Le blog de Patrick [MVP SharePoint] le 04-16-2014, 20:44

- [ SharePoint Summit 2014 ] Bâtir un site web public avec Office 365 par Le blog de Patrick [MVP SharePoint] le 04-16-2014, 18:30

- Kinect + Speech Recognition + Eedomus = Dommy par Aurélien GALTIER le 04-16-2014, 17:17

- [ SharePoint Summit 2014 ] Une méthodologie simple pour concevoir vos applications OOTB SharePoint de A à Z par Le blog de Patrick [MVP SharePoint] le 04-16-2014, 16:51

- //Lean/ - Apprendre à faire des Apps Windows universelles par Blog de Jérémy Jeanson le 04-16-2014, 12:57

- Une culture de la donnée pour tous… par Le blog de Patrick [MVP SharePoint] le 04-16-2014, 11:00