Eclesiastes

Ícone

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 em:Perl, Regex

8 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

  6. emily disse:

    essa merda de numero primo me avacalhou todaaa

  7. emily disse:

    akiiiiii odeio matemática

  8. anah disse:

    concordo com vc emily ??!!!

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: