题目描述
输入
一行一个正整数n
输出
共n行, 第i行包含i个正整数,之间用一个空格隔开。
样例输入1
5
样例输出1
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
做法1
#include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; constexpr int MAXN = 25; int data[MAXN][MAXN] = {0}; data[0][0] = 1; data[1][0] = 1; data[1][1] = 1; for (int i = 2; i < MAXN; ++i) { /* 每行的第一个元素都是1 */ data[i][0] = 1; /* 中间元素的值 等于左上方的元素的值 加上正上方的元素的值 */ for (int j = 1; j < i; ++j) { data[i][j] = data[i - 1][j - 1] + data[i - 1][j]; } /* 每行的最后一个元素都是1 */ data[i][i] = 1; } for (int i = 0; i < n; ++i) { for (int j = 0; j <= i; ++j) { cout << data[i][j]; if (j < i) cout << " "; } cout << endl; } return 0; }