题解 | #杨辉三角#
杨辉三角
https://www.nowcoder.com/practice/e671c6a913d448318a49be87850adbcc
#include <cstdio> #include <algorithm> #include <vector> #include <iostream> using namespace std; int main() { int x; cin >> x; vector<vector<int>> vv; // 给二维数组开辟有效空间---开辟numRows行 vv.resize(x); for (int i = 0; i < x; i++) { //每一行开辟i+1个 空间,并且进行初始化为 0 vv[i].resize(i + 1, 0); //每一行的第一个和最后一个为 1 vv[i].front() = vv[i].back() = 1; } // 每一次都从第3行开始,第二个开始遍历 for (int i = 2; i < x; i++) { for (int j = 1; j < i; j++) { vv[i][j] = vv[i - 1][j - 1] + vv[i - 1][j]; } } for (int i = 0; i < vv.size(); i++) { for (int j = 0; j < vv[i].size(); j++) { printf("%5d",vv[i][j]); } cout << endl; } } // 64 位输出请用 printf("%lld")