공부하기/백준

[Java] 백준 풀기 11050 - 이항 계수 1

XEV 2023. 7. 11. 23:50

자바 백준 11050번

브론즈 1

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

 

11050번: 이항 계수 1

첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\))

www.acmicpc.net

 

 

 

 

 

문제 보기

분류: 수학, 구현, 조합론

 

 

 

 

 

문제 풀기

이항 계수를 정의한 수식에 맞게 계산 결과를 출력한다.

문제의 조건이  (1 ≤ N ≤ 10, 0 ≤ K ≤ N) 으로 정해졌기 때문에 맨 윗 경우만 생각한다.

 

n과 k를 입력받고 수식에 적용시킨다. 팩토리얼 계산은 재귀 함수 형식을 이용한다.

 

 

 

 

 

코드 보기

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        int n = sc.nextInt();
        int k = sc.nextInt();

        long result = factorial(n) / (factorial(k) * factorial(n - k));
        
        System.out.println(result);
    }

    private static long factorial(int n) {
        if (n == 0) {
            return 1;
        } else {
            return n * factorial(n - 1);
        }
    }
    
}