[백준, BOJ 2004] 조합 0의 개수 (java)
Problem Solving/BOJ

[백준, BOJ 2004] 조합 0의 개수 (java)

728x90

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

 

2004번: 조합 0의 개수

첫째 줄에 정수 $n$, $m$ ($0 \le m \le n \le 2,000,000,000$, $n \ne 0$)이 들어온다.

www.acmicpc.net


문제

${n \choose m}$의 끝자리 0의 개수를 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 정수 nm (0 ≤ m ≤ n ≤ 2,000,000,000, n ≠ 0)이 들어온다.

출력

첫째 줄에 ${n \choose m}$의 끝자리 0의 개수를 출력한다.

728x90

 

예제 입력 1

25 12

예제 출력 1

2

public class Main {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		
		int n = scan.nextInt();
		int m = scan.nextInt();
		int nm = n - m;
		
		int cnt2 = get(n, 2) - get(m, 2) - get(nm, 2);
		int cnt5 = get(n, 5) - get(m, 5) - get(nm, 5);
		
		int ans = cnt2 < cnt5 ? cnt2 : cnt5;
		
		System.out.println(ans);
	}
	
	static int get(int num, int k) {
		int cnt = 0;
		
		while(num >= k) {
			cnt += num / k;
			num /= k;
		}
		
		return cnt;
	}

}
728x90