[TIL] 백준 11050 이항 계수 1

·2023년 3월 26일
0

알고리즘

목록 보기
10/11
post-thumbnail

문제

해결 방법

이항 계수란?

.....😵

n!/(k!(n-k)!)

Factorial

팩토리얼은 n!으로 표현한다.

n! = n * (n-1) * (n-2) * ... * 3 * 2 * 1

💡 주의할 점!

0! = 1
1! = 1

수도 코드

  1. Factorial 함수를 작성한다.
  2. Factorial 함수는 입력 받은 숫자num0이거나 1일 경우 1을 return한다.
  3. num-1은 Factorial 함수의 입력값이 되고 num과 곱한다.
  4. 입력 받는 값이 0, 1일 될 때까지 재귀한다.

작성 코드

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        int n = Integer.parseInt(st.nextToken());
        int k = Integer.parseInt(st.nextToken());

        // 이항 계수 n! / k!(n-k)!
        int result = factorial(n) / (factorial(k) * factorial(n-k));

        System.out.println(result);

    }
    public static int factorial(int num) {
        if(num == 0 || num == 1) {
            return 1;
        }
        return num * factorial(num-1);
    }
}
profile
🧑‍💻백엔드 개발자, 조금씩 꾸준하게

0개의 댓글