#백준 #단계별로풀어보기 #파이썬 #Python #15단계 #정수론및조합론 > #1676번: 팩토리얼 0의 개수 N = int(input()) Cnt = 0 # 1. 5의 개수가 중요 # N을 5로 나눈 몫을 지속적으로 덧셈 # e.g. N = 125 -> Cnt=25, N=25 -> Cnt=25+5, N=5 -> Cnt=25+5+1, N=1 while 4 < N: Cnt += N//5 N = N//5 print(Cnt) N!
의 뒤에서부터 0의 개수가 몇 개인지를 구하는 문제입니다. 0의 개수는 10의 거듭제곱과 관계가 있습니다. 그리고 10의 거듭제곱은 N!
의 약수로 있는 2와 5의 개수와 관계가 있죠. N!
을 소인수분해하면 5가 2보다 적으므로, 5의 개수가 몇 개인지를 확인합니다. 5의 개수 확인을 위해 while로 반복문을 구성했습니다. N이 더 이상 5로 나누어지지 않을 때까지 반복하면, N!
을 소인수분해했을 때 5의 개수를 알 수 있습니다. 1676번: 팩토리얼 0의...
#
15단계
#
파이썬
#
정수론및조합론
#
약수
#
소인수분해
#
백준
#
반복문
#
단계별로풀어보기
#
거듭제곱
#
Python
#
factorial
#
1676번
#
팩토리얼
원문 링크 : [백준] 1676번: 팩토리얼 0의 개수 (파이썬)