본문 바로가기

알고리즘/문제 풀이

SW 2005 파스칼의 삼각형

SW Expert Academy

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

import java.util.*;
        import java.util.function.Predicate;

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



        for(int l = 1; l <= T; l++){
            int N = sc.nextInt();
            System.out.println("#"+l);
            System.out.println(1);
            for (int i = 1; i < N; i++) {
                for (int j = 0; j <= i; j++) {
                    System.out.print(Combination(i, j) + " ");
                }
                System.out.println("");
            }
        }
    }

    static int Combination(int n, int p) {
        int N = 1;
        int P = 1;
        int A = 1;
        for (int i = 1; i <= n; i++) {
            N *= i;
        }
        for (int i = 1; i <= p; i++) {
            P *= i;
        }
        for (int i = 1; i <= (n-p); i++) {
            A *=i;
        }

        return N/(A*P);
    }
}

파스칼의 삼각형이 뭔지 까먹어서 댓글을 슬쩍 봤다. 

'조합'

딱 두 단어에 나의 전두엽이 고등학교 폴더 속 확통을 열었다. 

고맙다.