#include <iostream> #include <vector> #include <iomanip> using namespace std; void yh(vector<vector<int>> &vec, int n) { for (int i = 0; i < n; i++) for (int j = 0; j < i+1; j++) { vec[i].resize(i+1); if (j == 0 || j == i) { vec[i][j] = 1; } else vec[i][j] = vec[i - 1][j - 1] + vec[i - 1][j]; } } int main() { int n; cin >> n; // cin本身是会略过所有空格,回车,tab然后开始读入,遇到空格,回车,tab停止读入,光标会停留在这这些字符之前。意思就是下一次读入也会从空格回车这些东西开始读入 vector<vector<int>> vec(n); yh(vec, n); for (int i = 0; i < vec.size(); i++){ for (int j = 0; j < vec[i].size(); j++) { cout << setw(5) << vec[i][j]; } cout << endl; } return 0; } // 64 位输出请用 printf("%lld")