Qualche sfondo
In matematica, un gruppo è una tupla ( G , •) dove G è un set e • è un'operazione G tale che per ogni coppia di elementi x e y in G , x • y è anche in G .
Per alcuni x , y , z in G , gli assiomi di gruppo di base sono i seguenti:
- G è chiuso sotto •, ovvero x • y in G
- L'operazione • è associativa , ovvero x • ( y • z ) = ( x • y ) • z
- G ha un elemento identitario , cioè esiste e in G tale che x • e = x per tutti x
- • l'operazione è invertibile , cioè esiste un , b in G tale che un • x = y e y • b = x
Va bene, quindi quelli sono gruppi. Ora abbiamo definito un gruppo abeliano come un gruppo ( G , •) tale che • è un'operazione commutativa . Cioè, x • y = y • x .
Ultima definizione L' ordine di un gruppo ( G , •), indicato con | G |, è il numero di elementi nel set G .
Compito
Gli ordini abeliani sono numeri interi n tali che ogni gruppo dell'ordine n è abeliano. La sequenza degli ordini abeliani è A051532 in OEIS. Vostro compito è quello di produrre il n esimo termine di questa sequenza (1-indicizzato) dato un intero n . È necessario supportare l'input fino al numero intero più grande in modo tale che nulla trabocchi.
L'input può provenire da argomenti di funzioni, argomenti della riga di comando, STDIN o qualunque cosa sia conveniente.
L'output può essere restituito da una funzione, stampato su STDOUT o qualsiasi altra cosa sia conveniente. Nulla dovrebbe essere scritto su STDERR.
Il punteggio è il numero di byte, le vittorie più brevi.
Esempi
Ecco i primi 25 termini della sequenza:
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