【入门】杨辉三角形c++

1050: 【入门】杨辉三角形

时间限制: 1.000 Sec 内存限制: 64 MB
提交: 15174 解决: 8564
[命题人:][下载数据: 30]
题目描述
输出杨辉三角的前N行(N<10)。
输入
输入只有一行,包括1个整数N。(N<10)
输出
输出只有N行。
第N行有N个整数,用一个空格隔开。
样例
输入 复制
5
输出 复制
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1


#include <iostream>
#include <vector>
using namespace std;

vector<vector<int>> generate(int numRows) {
    vector<vector<int>> triangle(numRows);
    for (int i = 0; i < numRows; i++) {
        triangle[i].resize(i+1);
        triangle[i][0] = triangle[i][i] = 1;
        for (int j = 1; j < i; j++) {
            triangle[i][j] = triangle[i-1][j-1] + triangle[i-1][j];
        }
    }
    return triangle;
}

int main() {
    int numRows = 5;
    vector<vector<int>> triangle = generate(numRows);
    for (int i = 0; i < triangle.size(); i++) {
        for (int j = 0; j < triangle[i].size(); j++) {
            cout << triangle[i][j] << " ";
        }
        cout << endl;
    }
    return 0;
}

题目是要输入行数,而不是自己设置:

#include <iostream>
#include <vector>

using namespace std;

vector<vector<int>> generate(int numRows)
{
    vector<vector<int>> triangle(numRows);
    for (int i = 0; i < numRows; i++)
    {
        triangle[i].resize(i + 1);
        triangle[i][0] = triangle[i][i] = 1;
        for (int j = 1; j < i; j++)
        {
            triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j];
        }
    }
    return triangle;
}

int main()
{
    int numRows;
    cin >> numRows;
    vector<vector<int>> triangle = generate(numRows);
    for (int i = 0; i < triangle.size(); i++)
    {
        for (int j = 0; j < triangle[i].size(); j++)
        {
            cout << triangle[i][j] << " ";
        }
        cout << endl;
    }
    return 0;
}

有什么问题嘛