합성수 n에서 1을 제외한 가장 작은 약수는 n의 제곱근이다.
-> 2부터 n의 제곱근까지의 수로 나눴을 때 나누어지지 않으면 소수!
고대 그리스의 수학자 에라토스테네스가 만들어 낸 소수를 찾는 방법.
이 방법은 마치 체로 치듯이 수를 걸러낸다고 하여 '에라토스테네스의 체'라고 부른다.
2부터 n까지
나눠지면 소인수 목록에 넣기
아니면 1만큼 증가
두 수 A, B에 대해서 A를 B로 나눈 나머지를 r이라고 하면 GCD(A, B) = GCD(B, r)이다.
A ⨉ B = GCD(A, B) ⨉ LCM(A, B) 성질 이용
이항계수의 성질 nCk = n-1Ck-1 + n-1Ck을 이용하면 DP로 간단히 해결
n!에 5가 하나 포함되면 0이 하나 생긴다
n!에서 곱하는 수들 중 5의 개수가 0의 개수와 같다고 보면된다
이때 25, 125와 같이 5의 n승은 5를 n개 가지므로 또 세어줘야함
따라서 n!에서 0의 개수는 n/5 + n/5^1 + ...+ n/5^k (5^k <= n)