题解
【入门】有趣的数字图形II
1 条题解
-
0
解题思路
输出右上三角方阵。对角线上的数 = 行号+1,其余位置 = 左边的值 + 下面的值。
参考代码
#include <iostream> #include <iomanip> using namespace std; int main() { int n; cin >> n; int a[12][12] = {0}; // 对角线的值 = 行号 + 1 for (int i = 0; i < n; i++) a[i][i] = i + 1; // 每个位置 = 左边的值 + 下面的值 for (int j = 1; j < n; j++) { for (int i = j - 1; i >= 0; i--) { a[i][j] = a[i][j - 1] + a[i + 1][j]; } } for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { // 只输出右上部分 if (j >= i) cout << setw(5) << a[i][j]; else cout << setw(5) << ' '; } cout << endl; } return 0; }O(N²) 时间,O(N²) 空间
- 1