プログラマメモ2 - programmer no memo2

java パスカルの三角形 - 簡単なルールから作成してみた。 2007/07/13

確率とかの本ででてきたので、ちょっとためしてました。

シナリオ:

パスカルの三角形を10段まで表示してください。


パスカルの三角形とは、パスカルの三角形 - Wikipediaです。

簡単なルールは、
この三角形の作り方は単純なルールに基づいている。まず最上段に1を配置する。それより下の行はその位置の右上の数と左上の数の和を配置する。例えば、5段目の左から2番目には、左上の1と右上の3の合計である4が入る...パスカルの三角形 - Wikipedia


ルールがわかればプログラムに落とすのはなんとなくできますね。

結果です。
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
1 10 45 120 210 252 210 120 45 10 1


コードはjavaです。

package pascal;

public class Test {

public static void main(String[] args) {
a();
}

public static void a() {

int[] n = new int[1];
n[0] = 1;
for (int i = 0; i < 11; i++) {
print(n);
n = n(n);
}

}

public static int[] n(int[] n) {

int[] is = new int[n.length + 1];
is[0] = n[0];
for (int i = 1; i < n.length; i++) {
is[i] = n[i - 1] + n[i];
}
is[is.length - 1] = 1;
return is;
}

static void print(int[] is) {
for (int i : is) {
System.out.print(i + " ");
}
System.out.println();
}

}

: