Algorithm/기타
[백준 11050번] 이항 계수 1
agility
2019. 12. 28. 04:05
백준알고리즘 11050번 : 이항 계수 1
이항 계수가 뭔지 몰라서 검색해봤는데,
5C1 10C7 뭐 이런거였다.
보니까 알겠다.
5C1 = 5!/4!1!
10C7 = 10!/7!3!
수학 문제에서도 이런 이항 계수 문제를 풀때면,
10C7 은 10!/7! 에 3!을 나눈것이니까,
10*9*8 / 3! 로 계산을 해주면 된다.
단, 10C0 처럼 뒷 자리가 0인 경우에는 값이 무조건 1이되는 것을 조건에 넣어줘야한다.
풀이 과정
1. N과 K값을 받고, N부터 N-K까지의 값을 하나씩 곱해준다.
2. 이를 K부터 K-1, K-2, ... 1까지 곱한 값으로 나눠준다.
3. 계산한 결과를 출력하되, K가 0인경우에는 1을 출력한다.
<< 백준알고리즘 11050번 반례 >>
10 0
소스 ▽
더보기
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
int c = a-b;// a!/c!b!
int ans = 1;
if (b==0) {
System.out.println(1);
}else {
while (a!=c) {
ans *=a;
a--;
}
while (b!=1) {
ans /= b;
b--;
}
System.out.println(ans);
}
}
}