Eclesiastes

Icon

Sobre o que é este blog? O.o

Identificando número primo com Regex

O inventor parece ser Abigail, descobri na comunidade PerlMonks.

A ER é a seguinte: /^1?$|^(11+?)\1+$/

Para verificar se determinado número é primo, você tenta combinar o número que deseja em quantidade de 1.
Ou seja, se quero ver se 11 é primo, tento casar: 11111111111

Veja o teste:

re> /^1?$|^(11+?)\1+$/
data> 11111111111

No match

Quando não combina, quer dizer que ele é primo!

A explicação do padrão você encontra aqui!

Eu fiz o teste acima com pcretest, mas você pode usar a seguinte linha usando Perl:

perl -wle 'print "Prime" if (1 x shift) !~ /^1?$|^(11+?)\1+$/' [number]

Arquivado como:Perl, Regex

5 Responses

  1. Walter Cruz disse:

    Doido esse negócio dos números primos!

  2. Andressa disse:

    eu acho mto loko esse negócio d números primos, mas é fácil
    e legal

  3. Andressa disse:

    os números primos sao meio complicados, mas são legais d estudar e fazer exercícios no caderno com eles

  4. Andressa disse:

    numeros primos/números primos/numeros primos/numeros primos/numeros primos/numeros primos/numeros primos/numeros primos

  5. Andressa disse:

    eu queria conhecer quem inventou os números primos, esse cara deve ser mto esperto
    hehehehehehehehehehehehehe

Leave a Reply