Quelques antécédents
En mathématiques, un groupe est un tuple ( G , •) où G est un ensemble et • est une opération sur G telle que pour deux éléments quelconques x et y dans G , x • y est également dans G .
Pour certains x , y , z dans G , les axiomes de groupe de base sont les suivants:
- G est fermé sous •, c'est-à-dire x • y dans G
- L'opération • est associative , c'est-à-dire x • ( y • z ) = ( x • y ) • z
- G a un élément d' identité , c'est-à-dire qu'il existe e dans G tel que x • e = x pour tout x
- L'opération • est inversible , c'est-à-dire qu'il existe a , b dans G tels que a • x = y et y • b = x
D'accord, ce sont donc des groupes. Maintenant, nous avons défini un groupe abélien comme un groupe ( G , •) tel que • est une opération commutative . Autrement dit, x • y = y • x .
Dernière définition. L' ordre d'un groupe ( G , •), noté | G |, est le nombre d'éléments dans l'ensemble G .
Tâche
Les ordres abéliens sont les entiers n tels que chaque groupe d'ordre n est abélien. La séquence des ordres abéliens est A051532 dans OEIS. Votre travail consiste à produire n ème terme de cette séquence (indexé 1) étant donné un entier n . Vous devez prendre en charge l'entrée jusqu'au plus grand entier de sorte que rien ne déborde.
L'entrée peut provenir d'arguments de fonction, d'arguments de ligne de commande, de STDIN ou de tout ce qui est pratique.
La sortie peut être retournée à partir d'une fonction, imprimée sur STDOUT ou tout ce qui est pratique. Rien ne doit être écrit à STDERR.
Le score est le nombre d'octets, les gains les plus courts.
Exemples
Voici les 25 premiers termes de la séquence:
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
la source
Réponses:
CJam (
3532 octets)Démo en ligne
Dissection
Pour reformuler certaines informations dans OEIS, les ordres abéliens sont les ordres nilpotents sans cube ; et les ordres nilpotents sont les nombres
n
pour lesquels aucun diviseur de puissance principalep^k | n
correspond à1
modulo un autre diviseur premier.Si nous réussissons le test sans cube, le test de nilpotency se réduit à
1
modulo un autre facteur premierp
estk
,p^k
ne doit pas être égal à1
modulo un autre facteur premier.Mais alors la deuxième condition implique la première, donc nous pouvons la réduire à
p
estk
,p^k
ne doit pas être égal à1
modulo un autre facteur premier.Notez que le mot "autre" est inutile, car
p^a == 0 (mod p)
poura > 0
.la source
CJam,
4645 octetsTestez-le ici.
J'utilise la condition donnée sur la page OEIS:
Je suis assez certain que cela peut être joué au golf, en particulier la vérification de la dernière condition.
la source
Pyth, 37 octets
Suite de tests
Utilise la formule d'OEIS, sans cube et sans facteur de puissance première qui est un facteur premier de 1 mod, autre que 1.
la source