일부 배경
수학에서 그룹 은 튜플 ( G , •)이며 여기서 G 는 집합이며 • G 의 연산은 x 에서 y의 두 요소 에 대해 G입니다 . X • Y는 도이고 G는 .
일부 x , y , Z 에서의 G , 염기성 기 공리는 다음이다 :
- G 는 아래에서 닫힙니다 . 즉 X • Y 에 G
- 작업은 연관 적입니다 . 즉 x • ( y • z ) = ( x • y ) • z
- G는 가 신원 요소, 즉 존재 전자 의 G 등 그 X • E = X 모든 X
- 작업이 •이다 invertable 즉 존재 , B 의 G 되도록 • X = Y 및 Y • B = X
자, 그것들은 그룹입니다. 이제 우리는 Abelian 그룹 을 그룹 ( G , •) 으로 정의하여 다음 과 같이 정류 작업을 수행합니다. 즉, x • y = y • x 입니다.
마지막 정의. 그룹 의 순서 ( G , •)는 | G |는 세트 G 의 요소 수입니다 .
직무
Abelian 차수는 정수 n 이므로 모든 차수 n 그룹 은 Abelian입니다. OEIS에서 Abelian 주문 순서는 A051532 입니다. 당신의 임무는 정수 n이 주어지면이 순서 의 n 번째 항 (1 색인)을 생성하는 것 . 오버플로가 발생하지 않도록 최대 정수까지의 입력을 지원해야합니다.
입력은 함수 인수, 명령 행 인수, STDIN 또는 편리한 것에서 올 수 있습니다.
함수에서 출력을 반환하거나 STDOUT으로 인쇄하거나 편리한 것을 출력 할 수 있습니다. STDERR에 쓸 내용이 없습니다.
점수는 바이트 수이며 가장 짧은 승입니다.
예
시퀀스의 처음 25 개 용어는 다음과 같습니다.
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
답변
CJam ( 35 32 바이트)
0q~{{)_mF_z~2f>@::#@m*::%+1&}g}*
해부
OEIS의 일부 정보를 다시 말하면, Abelian 주문은 큐브가없는 전능 한 주문입니다 . 무전 위 명령은 n
소수의 제수 p^k | n
를 합치 지 않는 숫자 입니다.1
다른 소수의 제수 모듈로 .
큐브없는 테스트를 통과하면 전무 테스트는
- 소인수는
1
다른 소수 인 모듈로와 같지 않습니다 - 소수의 소수
p
가k
이면 다른 소수 인 모듈로와p^k
같지 않아야합니다1
.
그러나 두 번째 조건은 첫 번째 조건을 의미하므로
- 소수의 소수
p
가k
이면 다른 소수 인 모듈로와p^k
같지 않아야합니다1
.
단어가 “또 다른”때문에, 불필요하다고 참고 p^a == 0 (mod p)
를 위해 a > 0
.
0q~{ e# Loop n times starting from a value less than the first Abelian order
{ e# Find a number which doesn't satisfy the condition
)_ e# Increment and duplicate to test the condition on the copy
mF e# Find prime factors with multiplicity
_z~ e# Duplicate and split into the primes and the multiplicities
2f> e# Map the multiplicities to whether or not they're too high
@::# e# Bring factors with multiplicities to top and expand to array of
e# maximal prime powers
@m*::% e# Cartesian product with the primes and map modulo, so for each
e# prime power p^k and prime q we have p^k % q.
+ e# Combine the "multiplicity too high" and the (p^k % q) values
1& e# Check whether either contains a 1
}g
}*
답변
CJam, 46 45 바이트
0{{)_mf_e`_:e>3a>\{~\,:)f#}%@fff%e_1e=|}g}ri*
OEIS 페이지에 주어진 조건을 사용하고 있습니다.
의 소인수 분해를
n
합니다 . 그런 경우,이 시퀀스에 모두 와 동일하지 않는 모든 하고 그리고 . — TD Noe , 2007 년 3 월 25 일p1e1...prer
n
ei < 3
i
pik
1 (mod pj)
i
j
1 ≤ k ≤ ei
나는 이것이 골프가 될 수 있다고 확신합니다. 특히 마지막 상태를 확인하십시오.
답변
Pyth, 37 바이트
e.f!&tZ|f>hT2JrPZ8}1%M*eMJs.b*LYSNJ)Q
OEIS의 공식을 사용하고, 큐브가없고 1 mod 이외의 1- 소요 인 인 1- 원소 요인을 사용하지 않습니다.