热点资讯

你的位置:kaiyun体育最新版 > 新闻资讯 > 开云kaiyun官方网站 ...每个值与前一个值的差递加:+1-kaiyun体育最新版

开云kaiyun官方网站 ...每个值与前一个值的差递加:+1-kaiyun体育最新版


发布日期:2025-09-26 10:49    点击次数:129


开云kaiyun官方网站 ...每个值与前一个值的差递加:+1-kaiyun体育最新版

工夫公法: 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官方网站