[SWEA] 2005. パスカル三角形(Java)

10272 ワード

[問題のショートカット]https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=2&contestProbId=AV5P0-h6Ak4DFAUq&categoryId=AV5P0-h6Ak4DFAUq&categoryType=CODE&problemTitle=&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=2&pageSize=10&pageIndex=1

質問する


Nの大きさのパスカル三角形を作ります.
パスカルの三角形は以下の規則に従う.
1.最初の行は常に1です.
2.2行目から、各数字は自分の左上と右上の数字の和で構成されます.
Nが4の場合、

Nを入力し、プログラム出力サイズNのパスカル三角形を作成します.

入力


第1行目は、試験例の個数Tを与え、以下は各試験例である.
各試験例にはNがある.

しゅつりょく


各行は「#t」で始まり、次の行からパスカル三角形が出力されます.
三角形の各行の最初の数値が表示される前に、スペースは省略され、数値間にスペースが出力されます.
(tはテストケースの番号を表し、1から始まる.)

※制約事項


パスカル三角形の大きさNは、1または10以下の整数である.(1 ≤ N ≤ 10)

に答える

  • N<=10と小さく、2 Dアレイ
  • を使用
  • i==jの場合、値は1で、次の行
  • に移動します.
  • j=0の場合、値は124579182です.

    コード#コード#

    import java.util.Scanner;
    
    public class N2005 {
    
        public static void main(String[] args) {
            // TODO 2005. 파스칼의 삼각형
            Scanner sc = new Scanner(System.in);
            int T = sc.nextInt();
            
            for(int test_case = 1; test_case <= T; test_case++) 
            {
                int N = sc.nextInt();
                int[][] pascal = new int[N][N];
                
                for(int i = 0; i < N; i++) 
                {
                    for(int j = 0; j <= i; j++) 
                    {
                        if(i == j) {
                            pascal[i][j] = 1;
                        }else if(j == 0) {
                            pascal[i][j] = 1;
                        }else {
                            pascal[i][j] = pascal[i-1][j-1] + pascal[i-1][j];
                        }
                    }
                }
      
                System.out.println("#" + test_case);
      
                for(int i = 0; i < N; i++) 
                {
                    for(int j = 0; j <= i; j++) 
                    {
                        System.out.print(pascal[i][j] + " ");
                    }
                    System.out.println();
                }
            }
        }
    }