공부공간

BOJ - 1676 ) 팩토리얼 0의 개수 본문

알고리즘/구현,시뮬

BOJ - 1676 ) 팩토리얼 0의 개수

개발자가될수있을까? 2022. 3. 3. 22:03


https://www.acmicpc.net/problem/1676

 

1676번: 팩토리얼 0의 개수

N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오.

www.acmicpc.net


0의 개수는 1~N까지의 2와 5의 개수중 작은것만큼 생기므로

N까지 탐색하며 개수를 새준다.


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static int a,b;
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int n = Integer.parseInt(br.readLine());
		for(int i=1;i<=n;i++) {
			divide(i);
		}
		System.out.println(a>b?b:a);
	}
	private static void divide(int i) {
		if(i%2==0&&i%5==0) {
			a++;b++;
			divide(i/10);
		} else if(i%5==0) {
			b++;
			divide(i/5);
		} else if(i%2==0) {
			a++;
			divide(i/2);
		} 
		return;
		
	}

}

'알고리즘 > 구현,시뮬' 카테고리의 다른 글

BOJ - 5430 ) AC  (0) 2022.03.06
BOJ - 17219 ) 비밀번호찾기  (0) 2022.03.04
BOJ - 7662 ) 이중 우선순위 큐  (0) 2022.03.01
BOJ - 1475 ) 방번호  (0) 2022.02.27
BOJ - 3020 ) 개똥벌레  (1) 2021.11.03
Comments