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