ループは非常に単純な代数構造です。タプル(G、+)で、Gは集合で、+は二項演算子G×G→Gです。つまり、+はGから2つの要素を取得し、新しい要素を返します。また、オペレーターは2つの特性を満たす必要があります
キャンセル:すべての場合、AとBにGのユニークな存在のxとyとにGよう
a + x = b y + a = b
アイデンティティ:ある電子でGのすべてのためのように、AでGは、
e + a = a a + e = a
グループの概念に精通している場合、ループは連想プロパティを持たない単なるグループであることに気付くかもしれません。
ループは非常に単純なので、人々はより多くのルールを追加して、より興味深い新しい構造を作成することを好みます。そのような構造はMoufangループもことFORALL満たす次の4人のアイデンティティをループであり、X、Y及びZでG
z + (x + (z + y)) = ((z + x) + z) + y
((y + z) + x) + z = y + (z + (x + z))
(z + x) + (y + z) = (z + (x + y)) + z
(z + x) + (y + z) = z + ((x + y) + z)
たとえば、次のCayleyテーブルはMoufangループを表しています。
0 1 2 3
1 0 3 2
2 3 0 1
3 2 1 0
(あなたが慣れていない場合はケーリーテーブルは正方行列であるM M i、jはに等しい私+ jは。それはセットに二項演算子を表現するのに便利な方法ですが。)
アイデンティティがあることを簡単に示すことができ0
ます。キャンセルは表示が少し難しくなりますが、ブルートフォースアプローチではこの表が得られます
b a → 0 1 2 3
↓
0 0 1 2 3
1 1 0 3 2
2 2 3 0 1
3 3 2 1 0
私たちの要素は
a + x = b = x + a
(このテーブルはCayleyのテーブルと同じであることに気付くかもしれません。このMoufangループがなぜそうなのかを理解するために読者に演習として残しておきます)
次に、構造のMoufang IDを確認する必要があります。特定の構造に対してこれを行うには2つの方法があります。最初の方法は、関連性があり、したがって自動的に基準を満たしていることを認識することです。ここでは、すべての式でそれぞれ4つの値の可能性がある3つの自由変数があります。これは、7 * 4 3または448の計算を実行する必要があることを意味します。生の計算は省略しますが、これを確認するために使用できるHaskellをいくつか示します。
仕事
入力出力として正の整数nが与えられると、次数nの Moufangループの数。(グループの順序はセットのサイズです)
これはコードゴルフであるため、回答はバイト単位でスコアリングされ、バイト数は少ない方が良いでしょう。
テストケース
最初の71入力のMoufangループの数は次のとおりです。
1,1,1,2,1,2,1,5,2,2,1,6,1,2,1,19,1,5,1,6,2,2,1,20,2,2,5,5,1,4,1,122,1,2,1,18,1,2,2,19,1,7,1,5,2,2,1,103,2,5,1,6,1,17,2,17,2,2,1,18,1,2,4,4529,1,4,1,6,1,4,1
12
ていません11
。なぜなら11
素数であることに気づいたはずです。