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

- [ #SharePoint 2016 ] frappe à nos portes ! (1/2) par Le blog de Patrick [MVP Office 365] le 04-19-2015, 23:21

- Lync devient Skype Entreprise par Le petit blog de Pierre / Pierre's little blog le 04-18-2015, 22:47

- [WCF] Prendre la main sur les protocoles par Blog de Jérémy Jeanson le 04-18-2015, 12:57

- yOS Tour Geneva - Retour des sessions par Blog Technique de Romelard Fabrice le 04-16-2015, 11:54

- YOS Genève 2015 : gestion des gros fichiers et plus … par The Mit's Blog le 04-13-2015, 11:56

- YOS Genève 2015 : App et bonnes pratiques par The Mit's Blog le 04-13-2015, 10:55

- [YOS Genève 2015] : Et si on adoptait enfin nos espaces collaboratifs par The Mit's Blog le 04-13-2015, 09:48

- [WCF] Les bases d’une configuration clean par Blog de Jérémy Jeanson le 04-11-2015, 11:48

- Dernière partie de cache cache avec l’AppFabric le 2/04/2016 par Blog de Jérémy Jeanson le 04-08-2015, 23:01

- [WCF] Binding REST et SSL, c’est possible par Blog de Jérémy Jeanson le 04-04-2015, 09:19