また、パスカルの三角形として知られているパスカルの三角形は、あなたは関係の数の多くは非常に重要である見ることができます。
行0:1
行1:1から1
行2:121
行3:1331
行4:1 4 6 4 1
5、ライン:15101051
ライン6:1 6 15 20 15 1 6
の出力15及び20の対象
要素1は、中間要素の両側にあり、要素は左上隅と要素の右上隅です。
私たちは、行番号、列番号は0カウントからある、合意されました。
そう:ライン15上の第二の要素6、第三の素子20
直感的に、実際には、1次元配列でも仕事をすることができ、2次元配列を開くことが必要です。
次の手順では、溶液の「操縦」の一次元アレイを使用することです。
アイデア:番号を変更することがあり、左から右へ、右から発生していない問題をプッシュするから左に、私たちはこの質問を完了するために、外挿を逆にすることができます!!
キー:のために(int型のq = 1; qは<P; Q ++); これは私たちが最初に考えなければなりませんが、私はアイデアだと思うので、結果は、間違っています!!
public class Main{
// 杨辉三角形的第row行第col列
static long f(int row, int col) {
if (row < 2)
return 1;
if (col == 0)
return 1;
if (col == row)
return 1;
long[] a = new long[row + 1];
a[0] = 1;
a[1] = 1;
int p = 2;
while (p <= row) {
a[p] = 1;
for (int q = p - 1; q >= 1; q--) //填空位置
a[q] = a[q] + a[q - 1];
p++;
}
return a[col];
}
public static void main(String[] args) {
System.out.println(f(6, 2));
System.out.println(f(6, 3));
}
}