자연수를 나타내는 한 가지 방법은 소수의 지수를 곱하는 것입니다. 예를 들어, 6은 2 ^ 1 * 3 ^ 1로, 50은 2 ^ 1 * 5 ^ 2로 표현 될 수 있습니다 (여기서 ^는 지수를 나타냄). 이 표현의 소수는 다른 방법과 비교하여이 표현 방법을 사용하는 것이 더 짧은지를 결정하는 데 도움이 될 수 있습니다. 그러나 이것을 직접 계산하고 싶지 않기 때문에 나를 위해 프로그램이 필요합니다. 그러나 집에 도착할 때까지 프로그램을 기억해야하므로 가능한 짧아야합니다.
당신의 작업 :
이 숫자 표현에 몇 개의 고유 한 소수가 있는지 판별하는 프로그램 또는 함수를 작성하십시오.
입력:
1 <n <10 ^ 12 인 정수 n으로, 일반적인 방법으로 가져옵니다.
산출:
소개에 설명 된대로 입력을 나타내는 데 필요한 고유 소수의 수입니다.
테스트 사례 :
24 -> 2 (2^3*3^1)
126 -> 3 (2^1*3^2*7^1)
1538493 -> 4 (3^1*11^1*23^1*2027^1)
123456 -> 3 (2^6*3^1*643^1)
이다 OEIS A001221 .
채점 :
이것은 code-golf 이며 바이트 단위의 최저 점수입니다!