µÆE;¬g/’µ#Ṫ
온라인으로 사용해보십시오! .
배경
모든 양의 정수 k 는 첫 번째 m 소수 의 거듭 제곱 , 즉 k = p 1 α 1 ⋯ p m α m으로 고유하게 인수 분해 될 수 있습니다 . 여기서 α m > 0 입니다.
우리가 그 B ( B> 1 의 정수 긍정적 용) 의 경우에만, b는 모든 지수의 제수 인 α j는 .
따라서 정수 k> 1 은 gcd (α 1 , ⋯, α m ) ≠ 1 인 경우에만 완벽한 거듭 제곱 입니다.
작동 원리
µÆE;¬g/’µ#Ṫ Main link. No arguments.
µ Make the chain monadic, setting the left argument to 0.
µ# Find the first n integers k, greater or equal to 0, for which the
preceding chain returns a truthy value.
In the absence of CLAs, n is read implicitly from STDIN.
ÆE Compute the exponents of the prime factorization of k.
;¬ Append the logical NOT of k, i.e., 0 if k > 0 and 1 otherwise.
This maps 1 -> [0] and [0] -> [1].
g/ Reduce the list of exponents by GCD.
In particular, we achieved that 1 -> 0 and 0 -> 1.
’ Decrement; subtract 1 from the GCD.
This maps 1 to 0 (falsy) and all other integers to a truthy value.
Ṫ Tail; extract the last k.