반응형
https://www.acmicpc.net/problem/1676
1676번: 팩토리얼 0의 개수
N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오.
www.acmicpc.net
뒤에 0이란 숫자는 2 * 5로 인해 하나가 붙게 됩니다.
N!을 소인수 분해했을 때, 2의 개수와 5의 개수 중에 더 적은 개수가 0의 개수가 됩니다.
2의 개수가 더 많이 나올리는 없으니 5의 개수가 0의 개수입니다.
#include <cstdio>
int main() {
int n, c = 0;
scanf("%d", &n);
for (int i = 2; i <= n; i++) {
int ii = i;
while (ii % 5 == 0) {
ii /= 5;
c++;
}
}
printf("%d", c);
}
반응형
'Algorithm' 카테고리의 다른 글
백준 1922 : 네트워크 연결 (0) | 2021.11.19 |
---|---|
백준 2775 : 부녀회장이 될테야 (0) | 2021.11.19 |
백준 6416 : 트리인가? (0) | 2021.11.19 |
백준 1108 : 검색 엔진 (0) | 2021.11.19 |
백준 4305 : 성격 진단 테스트 (0) | 2021.11.19 |