簡単 0件解決済み 正答率0%

パスカルの三角形

前の行の隣り合う要素を加算して行を作成します。

最初の行は [1] です。それ以降の各行は 1 で始まり、1 で終わります。各内部の要素は、直上の2つの要素の和になります。最初の rows 行を、先頭の 1 から順に返してください。

pascals_triangle(rows) を実装してください。

入力

rows: 生成する行数。

出力

各行を整数のリストとして、上から順に並べたリストを返します。

制約

0 ≤ rows ≤ 60。すべての要素は符号付き64ビット整数に収まります。rows が 0 の場合は空リストを返してください。

例

例 1
入力:
rows = 4

期待される出力:
expected = [
    [1],
    [1, 1],
    [1, 2, 1],
    [1, 3, 3, 1]
]
入力:
long long rows = 4;

期待される出力:
std::vector<std::vector<long long>> expected = {
    {1},
    {1, 1},
    {1, 2, 1},
    {1, 3, 3, 1}
};
入力:
long rows = 4;

期待される出力:
long[][] expected = new long[][] {
    new long[] {1},
    new long[] {1, 1},
    new long[] {1, 2, 1},
    new long[] {1, 3, 3, 1}
};

解説

3行目の2は 1 + 1 です。4行目の2つの内部の3は 1 + 2 と 2 + 1 です。

例 2
入力:
rows = 0

期待される出力:
expected = []
入力:
long long rows = 0;

期待される出力:
std::vector<std::vector<long long>> expected = {};
入力:
long rows = 0;

期待される出力:
long[][] expected = new long[][] {};

解説

行数が0なので、空リストを返します。

参考資料

この課題はCodeUtility用に調整されています。上記の説明と制約に従ってください。

他の人の解答から学ぶ

コミュニティの解答

まだ公開された解答がありません。この課題を解いて最初の解答を共有しましょう。