루프는 매우 간단한 대수 구조입니다. 또한 튜플 (G, +) G가 세트이며 + 이진 연산자 G × G → G . 즉, + 는 G 에서 두 개의 요소를 가져 와서 새 요소를 반환합니다. 운영자는 두 가지 특성을 충족해야합니다.
취소 : 모든 내용 및 B 의 G 고유 존재 X 와 Y 의 G 되도록을
a + x = b y + a = b
신원 일 :이 전자 의 G 등 그 모든에 대한 에서 G
e + a = a a + e = a
그룹의 개념에 익숙하다면 루프는 연관 속성이없는 그룹 일뿐입니다.
루프는 매우 간단하여 사람들이 더 흥미로운 규칙을 추가하여 더 흥미로운 새 구조를 만드는 것을 좋아합니다. 이러한 구조 중 하나는 Moufang 루프 로 , G의 모든 x , y 및 z 에 대해 다음 네 가지 ID를 만족시키는 루프입니다.
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
(Cyley 테이블에 익숙하지 않은 경우 M i, j 는 i + j와 같은 정사각 행렬 M 입니다. 집합에서 이진 연산자를 나타내는 편리한 방법입니다.)
우리는 오히려 쉽게 정체성이 있음을 보여줄 수있다 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의 정체성을 확인해야합니다. 특정 구조에 대해이 작업을 수행하는 두 가지 방법이 있는데, 첫 번째 방법은 연관성이 있고 자동으로 기준을 충족한다는 것을 인식하는 것입니다. 그러나 이것은 일반적으로 작동하지 않으므로 결과를 무차별하게 적용 할 수 있습니다. 여기에는 모든 표현에 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
소수 이기 때문에 깨달았습니다 .