热点资讯
开云kaiyun官方网站 ...每个值与前一个值的差递加:+1-kaiyun体育最新版
发布日期:2025-09-26 10:49 点击次数:129
工夫公法: 2s 内存公法: 128MB 提交: 24039 措置: 15768开云kaiyun官方网站
题目刻画
蛇形矩阵是由1入手的当然数次第胪列成的一个矩阵上三角形。
输入才智
本题有多组数据,每组数据由一个正整数N构成。(N不大于100)
输出才智
关于每一组数据,输出一个N行的蛇形矩阵。两组输出之间不要非凡的空行。矩阵三角中吞并转的数字用一个空格分开。行尾不要过剩的空格。
样例输入
5
样例输出
1 3 6 10 15
2 5 9 14
4 8 13
7 12
11
代码
#include<iostream>#include<vector>usingnamespace std;voidprintSnakeMatrix(int N){ vector<vector<int>> matrix(N);// 运振荡第一列int first_col_value = 1;for (int i = ; i < N; i++) { matrix[i].push_back(first_col_value); first_col_value += i + 1; }// 填充每一转的后续元素for (int i = ; i < N; i++) {int diff = i + 2; // 运转差值为行号+2for (int j = 1; j < N - i; j++) { matrix[i].push_back(matrix[i].back() + diff); diff++; } }// 输出矩阵for (int i = ; i < N; i++) {for (int j = ; j < matrix[i].size(); j++) { cout << matrix[i][j];if (j != matrix[i].size() - 1) { cout << " "; } } cout << endl; }}intmain(){int N;while (cin >> N) {printSnakeMatrix(N); }return;}
输出拆伙
代码训练
(1)运振荡第一列:
第一列的值罢职特定例律:1, 2, 4, 7, 11, ...
每个值与前一个值的差递加:+1, +2, +3, +4,...
(2)填充每行后续元素:
每行的差值从行号+2入手递加
举例第0行差值从2入手,第1行从3入手,以此类推
(3)输出公法:
使用vector存储矩阵
精准公法输出才智,幸免行尾过剩空格
示例演示
以样例输入N=5为例:
(1)运振荡第一列:[1, 2, 4, 7, 11]
(2)填充各行:
第0行:1 (+2)→3 (+3)→6 (+4)→10 (+5)→15
第1行:2 (+3)→5 (+4)→9 (+5)→14
第2行:4 (+4)→8 (+5)→13
第3行:7 (+5)→12
第4行:11
(3)输出拆伙与样例一致
优化阐扬
使用vector动态存储矩阵,顺应不同N值
幸免使用二维数组,玩忽空间
差值计较胜利基于行号,恶果高
输出才智严格公法,合乎题目条目
C++基础教程书籍
C++基础云尔1、C++输出2、C++变量3、C++输入4、C++抒发式5、IF判断语句6、IF旁边7、WHILE轮回语句8、FOR轮回语句9、数组10、一维数组11、二维数组12、C++函数13、C++文献操作 - 写文献操作开云kaiyun官方网站