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

- Technofolies, votre évènement numérique de l'année par Le Blog (Vert) d'Arnaud JUND le 09-26-2014, 18:40

- Xamarin : From Zero to Hero par Fathi Bellahcene le 09-24-2014, 17:35

- Conférences d’Automne 2014 par Le blog de Patrick [MVP SharePoint] le 09-24-2014, 14:53

- [TFS] Supprimer un projet de Visual Studio Online par Blog de Jérémy Jeanson le 09-22-2014, 20:42

- Nouveau blog en anglais / New blog in english ! par Le blog de Patrick [MVP SharePoint] le 09-18-2014, 18:42

- [ #Yammer ] From Mailbox to Yammer and back / De votre messagerie vers Yammer et retour ! par Le blog de Patrick [MVP SharePoint] le 09-15-2014, 11:31

- [ #Office 365 ] New service settings panel / Nouveau panneau de paramétrage des services par Le blog de Patrick [MVP SharePoint] le 09-11-2014, 08:50

- Problème de déploiement pour une démo SharePoint/TFS? par Blog de Jérémy Jeanson le 09-10-2014, 21:52

- [ #Office365 ] Delve first impressions / Premières impressions sur Delve par Le blog de Patrick [MVP SharePoint] le 09-09-2014, 16:57

- [ #Office365 ] How to change Administration console language ? / Comment changer la langue de la console d’administration ? par Le blog de Patrick [MVP SharePoint] le 09-09-2014, 08:25