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 , x • Y 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, x • y em G
- A operação • é associativa , ou seja, x • ( y • z ) = ( x • y ) • z
- G tem um elemento de identidade , ou seja, existe e em G de modo que x • e = x para todos os x
- A operação • é invertível , ou seja, não existem um , b em L de tal modo que um • x = y e y • b = 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, x • y = y • x .
Ú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
fonte
Respostas:
CJam (
3532 bytes)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
n
para os quais nenhum divisor de potência principalp^k | n
é congruente para1
modular outro divisor primário.Se passarmos no teste sem cubo, o teste de nilpotência reduz para
1
módulo outro fator primop
ék
,p^k
não deve ser igual ao1
módulo outro fator primo.Mas então a segunda condição implica a primeira, para que possamos reduzi-la a
p
ék
,p^k
não deve ser igual ao1
módulo outro fator primo.Observe que a palavra "outro" é desnecessária, porque
p^a == 0 (mod p)
paraa > 0
.fonte
CJam,
4645 bytesTeste aqui.
Estou usando a condição fornecida na página OEIS:
Estou bastante certo de que isso pode ser jogado, especialmente a verificação da última condição.
fonte
Pitão, 37 bytes
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.
fonte