ブルーブリッジカップ-基礎練習-楊輝三角形
1462 ワード
問題の説明
楊輝三角形はPascal三角形とも呼ばれ、そのi+1行目は(a+b)iの展開式の係数である.
その重要な性質の一つは、三角形の各数字が肩の数字に等しいことです.
次に、楊輝三角形の最初の4行を示します.
1
1 1
1 2 1
1 3 3 1
nを与え、その前のn行を出力する.
入力フォーマット
入力にはnの数が含まれます.
出力フォーマット
楊輝三角形の前n行を出力します.各行は、この行の最初の数から順に出力され、中央にスペースで区切られます.前に余分なスペースを出力しないでください.
サンプル入力
4
サンプル出力
1
1 1
1 2 1
1 3 3 1
データ規模と約定
1 <= n <= 34.
--------------------------------------------------------------------------
三角形の辺の数字が1であることがわかります.他の数字は肩の2つの数字の和です.
まず,2次元配列aを定義し,2つのfor文でa[i][0]とa[i][i]に1,すなわち三角形の辺の数字が1である.
そして、2つのfor文でa[i][0]とa[i][i]を除く要素に値を割り当て、a[i][j]=a[i-1][j-1]+a[i-1][j]
ここで出力を割り当てるときはfor文のiとjの範囲制御に注意する
楊輝三角形はPascal三角形とも呼ばれ、そのi+1行目は(a+b)iの展開式の係数である.
その重要な性質の一つは、三角形の各数字が肩の数字に等しいことです.
次に、楊輝三角形の最初の4行を示します.
1
1 1
1 2 1
1 3 3 1
nを与え、その前のn行を出力する.
入力フォーマット
入力にはnの数が含まれます.
出力フォーマット
楊輝三角形の前n行を出力します.各行は、この行の最初の数から順に出力され、中央にスペースで区切られます.前に余分なスペースを出力しないでください.
サンプル入力
4
サンプル出力
1
1 1
1 2 1
1 3 3 1
データ規模と約定
1 <= n <= 34.
--------------------------------------------------------------------------
三角形の辺の数字が1であることがわかります.他の数字は肩の2つの数字の和です.
まず,2次元配列aを定義し,2つのfor文でa[i][0]とa[i][i]に1,すなわち三角形の辺の数字が1である.
そして、2つのfor文でa[i][0]とa[i][i]を除く要素に値を割り当て、a[i][j]=a[i-1][j-1]+a[i-1][j]
import java.util.Scanner;
public class Main{
static int[][] getTriangle(int num){
int[][] a = new int [num][num];
for(int i=0 ; i<a.length ; i++){
a[i][0] = 1;
a[i][i] = 1;
}
for(int i=1 ; i<a.length ; i++){
for(int j=1; j<=i ; j++){
a[i][j] = a[i-1][j-1]+a[i-1][j];
}
}
return a;
}
static void print(int[][]ary){
for(int i=0 ; i<ary.length ; i++){
for(int j=0 ; j<=i ; j++){
System.out.print(ary[i][j]+" ");
}
System.out.println(); //
}
}
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[][]a = getTriangle(n);
print(a);
}
}
ここで出力を割り当てるときはfor文のiとjの範囲制御に注意する