위키득계정 ↗
과학

르장드르 공식 (계승)

르장드르 공식 (계승)과학
영어
Legendre’s formula for factorials
계산 대상
n!에 포함된 소수 p의 지수
조건
n≥0인 정수, p는 소수
공식
vₚ(n!)=Σₖ₍≥1₎⌊n/pᵏ⌋
계승에 대한 르장드르 공식은 n!의 소인수분해에서 소수 p의 지수를 구하는 공식이다. n이 음이 아닌 정수이고 p가 소수이면 vₚ(n!)=⌊n/p⌋+⌊n/p²⌋+⌊n/p³⌋+⋯이다. pᵏ가 n보다 커지면 해당 항은 0이 된다.

소수의 배수를 세기

1부터 n까지 p의 배수는 ⌊n/p⌋개이고 각각 소인수 p를 적어도 하나씩 준다. p²의 배수는 p를 하나 더 주며 p³의 배수는 다시 하나를 더 준다. 이런 추가 기여를 단계별로 더하면 n!에 포함된 p의 전체 지수를 얻는다.

직접 곱하지 않고 계산

10!에서 2의 지수는 ⌊10/2⌋+⌊10/4⌋+⌊10/8⌋=5+2+1=8이다. 5의 지수는 ⌊10/5⌋=2다. 따라서 큰 계승 값을 실제로 만든 뒤 나누어 보지 않아도 원하는 소인수의 지수를 계산할 수 있다.

끝의 0과 연결

십진수에서 끝의 0 하나는 소인수 2와 5가 한 쌍씩 있어야 생긴다. n!의 경우 2가 5보다 적지 않으므로 끝의 0 개수는 5의 지수로 구한다. 앞의 예에서 10!은 끝의 0이 두 개다. 다른 진법에서는 그 진법의 밑을 소인수분해해 필요한 각 지수를 비교해야 한다.

소수 조건의 중요성

p 대신 합성수를 넣어 같은 바닥함수 합을 계산한다고 그 합성수의 최대 거듭제곱 지수가 되는 것은 아니다. 합성수의 소인수별 지수를 구한 뒤 밑의 지수 비율을 고려해야 한다. 계산에서는 p의 거듭제곱을 계속 곱하는 대신 n을 p로 반복해서 나누는 방식으로 넘침을 피할 수 있다.

관련 문서

팩토리얼 / 소인수분해 / 소수 (수론) / 바닥 함수 / 거듭제곱 / 나눗셈