개발 노트/백준, 프로그래머스 풀이
[백준 1676/c++] 팩토리얼 0의 개수
tokkiC
2022. 7. 16. 21:48
구현에 가까운 문제였다
무슨 수를 곱하던 10의 배수를 곱하면 결국 맨 뒤에 0이 모이게 된다
뒤의 0의 수는 10을 곱한 수와 같고 10은 2와 5를 곱한 수와 같다
2는 5보다 많으니 최종 수가 5로 몇 번 나눠지는 지를 구해 약수로 5가 몇개인지 구하고
그 수가 0의 개수와 같다고 판단하면 문제 해결인 문제다
https://www.acmicpc.net/problem/1676
1676번: 팩토리얼 0의 개수
N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오.
www.acmicpc.net
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
int cnt=0;
cin >> n;
if (n == 0)
{
cout << 0;
return 0;
}
while (n > 0)
{
cnt += n/5;
n/=5;
}
cout << cnt << "\n";
return 0;
}