문제
자연수 N과 정수 K가 주어졌을 때 이항 계수
를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 0 ≤ K ≤ N)
출력
를 출력한다.
풀이
이항 계수란 위의 정의와 같이 factorial을 이용한 공식으로써 factorial함수를 따로 지정해서 문제에 접근하면 수월하다.
factorial의 함수를 만들고 이를 통해 위의 공식과 똑같이 연산을 진행해주면 정답입니다! ㅇㅅㅇ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
class Main {
public static void main(String[] args) throws Exception {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int k=sc.nextInt();
int answer=factorial(n)/(factorial(k)*factorial(n-k));
System.out.println(answer);
}
public static int factorial(int n) {
int total=1;
for(int i=1;i<=n;i++) {
total*=i;
}
return total;
}
}
|
https://www.acmicpc.net/problem/11050
반응형
'Algorithms > BOJ[Java]' 카테고리의 다른 글
[백준/10984번] 내 학점을 구해줘 [Java] (0) | 2019.12.05 |
---|---|
[백준/1550번] 16진수 [ Java] (0) | 2019.12.04 |
[백준/10988번] 팰린드롬인지 확인하기 [Java] (0) | 2019.12.03 |
[백준/10757번] 큰 수 A+B [Java] (0) | 2019.12.03 |
[백준/11718번] 그대로 출력하기 [Java] (0) | 2019.12.03 |