#2623. [JSOI2007] 群的计数

[JSOI2007] 群的计数

Description

代数学研究的基本对象之一群是一些元素的集合。这些元素之间有一种代数运算,称之为乘法。两个群元素的乘积是一个群元素。一个大家习以为常的群是有理数乘法群,例如,等等,都是这个群中乘法的例子。需要注意的是,如果仅仅考虑有理数的乘法群,另外的一些运算比如加法是不被讨论的。数学家们把乘法抽象出来,就成为了群。群需要满足以下三条性质:

结合律:对群中的任意元素a,b,c 有 a(bc)=(ab)c

单位元:在群中存在唯一的元素e,它对群中任意的元素a有ea=a,ae=a

有理数乘法群的单位元是1

逆 元:对群中任意元素a,都存在群中唯一的元素b,使得ab=ba=e

比如有理数乘法群中,23的逆元就为。从这里可以看出,整数乘法不能构成一个群

需要注意的是,群的定义中并没有交换律,就是说ab不一定等于ba,有理数乘法群作为一个特例,其交换性是没有普遍的意义的

现在的问题是,给定群的元素的个数(群的阶数),需要知道这样的群有多少种。只要满足上述三条性质,就是群,应该算上。

下面用四阶群的例子来说明这个问题。抽象地记群元素为e,a,b,c 只要列出一个乘法表,就可以代表一个群。下面给出推导乘法表的步骤:

群1 e a b c
e e (1) a (1) b (1) c (1)
a a (1) e (2) c (3) b (3)
b b (1) c (3) e (4) a (5)
c c (1) b (3) a (5) e (5)

有单位元素的性质,可以填上

aa可能为e,b,c,但不可能为a,否则aa=a两边乘以a的逆元,得到a=e;

aa=b和aa=c的情况是一样的,只是乘法表中元素的位置进行了一个变换,本质没有改变,称为一个群同构;此时可以把a*a得到的元素称为b;

所以只要讨论aa=e和aa=b的情况;下面先讨论a*a=e的情况

ab不能为a或e,ab为b的话,a=e,也矛盾,所以a*b=c;同理可填上所有的(3)

bb=e时,bc=cb=a,cc=e,得到群1

bb=a时,bc=cb=e,cc=a,得到群2

群2 e a b c
e e (1) a (1) b (1) c (1)
a a (1) e (2) c (3) b (3)
b b (1) c (3) a (4) e (5)
c c (1) b (3) e (5) a (5)

当a*a=b时,按照标号顺序可填出下列的群:

群 2’ e a b c
e e (1) a (1) b (1) c (1)
a a (1) b (2) c (4) e (3)
b b (1) c (4) e (6) a (5)
c c (1) e (3) a (5) b (6)

但需要注意的是,这并没有得到一个新的群,把群2中的a,b调换位置,就得到了群2’。群2’只是群2的一个同构而已。

综上所述,四阶群一共有2种。

虽然4阶群一定有交换律,但这里再次提醒,这并非一个普遍现象。

Format

Input

输入群的阶数n(4<=n<=3000)。

Output

输出n阶群的种类数。

Samples

4
2