Java/백준
[1676] 팩토리얼 0의 개수
tmd1
2022. 7. 3. 17:44
문제:
https://www.acmicpc.net/problem/1676
1676번: 팩토리얼 0의 개수
N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오.
www.acmicpc.net
import java.util.*;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
int FiveCount = 0;
for(int i=1;i<=num;i++) { // 팩토리얼 숫자 하나하나 5의 개수 찾기
double check = i;
while(check !=0) {
if(check%5 == 0) {
FiveCount++;
}
check/=5; // 25 같은 경우 5가 2번 들어가므로 그러한 수 처리를 위해 사용
} // check가 int형이면 26도 5를 포함한다 판단하기에 check를 double형으로 지정
}
System.out.println(FiveCount);
}
}
0 의 개수 = 2x5 의 개수 이기에 2와 5의 개수를 세면 0의 개수가 몇 개인지 알 수 있다.
2의 개수는 항상 5보다 많으므로 5의 개수만 계산하면 답이 나온다.