As Ordens Abelianas


17

Alguma experiência

Em matemática, um grupo é um tuplo ( L , •) onde L é um conjunto e • é uma operação em L de tal modo que para quaisquer dois elementos de x e y em L , xY também é em L .

Para alguns x , y , z em G , os axiomas básicos do grupo são os seguintes:

  • G é fechado em •, ou seja, xy em G
  • A operação • é associativa , ou seja, x • ( yz ) = ( xy ) • z
  • G tem um elemento de identidade , ou seja, existe e em G de modo que xe = x para todos os x
  • A operação • é invertível , ou seja, não existem um , b em L de tal modo que umx = y e yb = x

Ok, então esses são grupos. Agora definimos um grupo abeliano como um grupo ( G , •) tal que • é uma operação comutativa . Ou seja, xy = yx .

Última definição. A ordem de um grupo ( G , •), denotada | G |, é o número de elementos no conjunto G .

Tarefa

As ordens abelianas são os números n tais que todo grupo de ordem n é abeliano. A sequência de ordens abelianas é A051532 no OEIS. A sua função é produzir o n ésimo termo desta sequência (1-indexada) dado um número inteiro n . Você deve suportar a entrada até o maior número inteiro, para que nada transborde.

A entrada pode vir de argumentos de função, argumentos de linha de comando, STDIN ou o que for conveniente.

A saída pode ser retornada de uma função, impressa em STDOUT ou o que for conveniente. Nada deve ser escrito para STDERR.

Pontuação é o número de bytes, vitórias mais curtas.

Exemplos

Aqui estão os primeiros 25 termos da sequência:

1, 2, 3, 4, 5, 7, 9, 11, 13, 15, 17, 19, 23, 25, 29, 31, 33, 35, 37, 41, 43, 45, 47, 49, 51

Respostas:


6

CJam ( 35 32 bytes)

0q~{{)_mF_z~2f>@::#@m*::%+1&}g}*

Demonstração online

Dissecação

Para reformular algumas informações no OEIS, as ordens abelianas são as ordens nilpotentes sem cubos ; e as ordens nilpotentes são os números npara os quais nenhum divisor de potência principal p^k | né congruente para 1modular outro divisor primário.

Se passarmos no teste sem cubo, o teste de nilpotência reduz para

  • Nenhum fator primo é igual ao 1módulo outro fator primo
  • Se a multiplicidade de primos pé k, p^knão deve ser igual ao 1módulo outro fator primo.

Mas então a segunda condição implica a primeira, para que possamos reduzi-la a

  • Se a multiplicidade de primos pé k, p^knão deve ser igual ao 1módulo outro fator primo.

Observe que a palavra "outro" é desnecessária, porque p^a == 0 (mod p)para a > 0.

0q~{       e# Loop n times starting from a value less than the first Abelian order
  {        e#   Find a number which doesn't satisfy the condition
    )_     e#     Increment and duplicate to test the condition on the copy
    mF     e#     Find prime factors with multiplicity
    _z~    e#     Duplicate and split into the primes and the multiplicities
    2f>    e#     Map the multiplicities to whether or not they're too high
    @::#   e#     Bring factors with multiplicities to top and expand to array of
           e#     maximal prime powers
    @m*::% e#     Cartesian product with the primes and map modulo, so for each
           e#     prime power p^k and prime q we have p^k % q.
    +      e#     Combine the "multiplicity too high" and the (p^k % q) values
    1&     e#     Check whether either contains a 1
  }g
}*

11
Obrigado pela explicação muito completa e intrigante! :)
Aparelho de fax

5

CJam, 46 45 bytes

0{{)_mf_e`_:e>3a>\{~\,:)f#}%@fff%e_1e=|}g}ri*

Teste aqui.

Estou usando a condição fornecida na página OEIS:

Deixe a fatoração principal de nbe . Então está nesta sequência se para todos e não é igual para todos e e . --- TD Noe , 25 de março de 2007p1e1...prernei < 3ipik1 (mod pj)ij1 ≤ k ≤ ei

Estou bastante certo de que isso pode ser jogado, especialmente a verificação da última condição.


3

Pitão, 37 bytes

e.f!&tZ|f>hT2JrPZ8}1%M*eMJs.b*LYSNJ)Q

Suíte de teste

Usa a fórmula do OEIS, sem cubos e sem fatores de potência primária que são 1 mod um fator primário, exceto 1.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.