백준

백준 16395 파스칼의 삼각형

Park DJ 2023. 1. 24. 19:20

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

 

16395번: 파스칼의 삼각형

파스칼의 삼각형은 이항계수를 삼각형 형태로 배열한 것인데, 블레즈 파스칼(1623-1662)을 따라 이름 붙여졌다. 단순한 형태로, 파스칼의 삼각형은 다음과 같은 방법으로 만들 수 있다. N번째 행

www.acmicpc.net


 

해석 및 팁

 


 

이 문제의 핵심을 조합을 사용하는 것입니다 두수 n과 k가 주어졌을 때 n-1Ck-1을 구하면 됩니다. 공식이 n!/(n-k) * k! 일 때 약분시키면 n * (n-1) * (n-2)*...(n-k) / k! 이므로 반복문을 통해 구해주면 됩니다.

 


 

Java 코드

 


import java.util.Scanner;

public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);

    int n = sc.nextInt() - 1;
    int k = sc.nextInt() - 1;         // n-1Ck-1
    int num = 1;

    for (int i = 0; i < k; i++) {
      num = num * (n - i) / (i + 1);     //n*n-1*...n-k / 1*2*....k
    }  

    System.out.println(num);
  }
}