题解
2026-02-05 23:11:39
发布于:浙江
7阅读
0回复
0点赞
题目解析
- 输入输出:输入两个正整数 (分别代表矩阵的行数和列数);输出 行,每行 个整数,第 行第 列的值为 。
- 数据范围:,规模极小,直接模拟构造即可。
- 复杂度要求:时间复杂度 ,空间复杂度 (不计输出缓冲区)。
- 算法知识点:
模拟、矩阵构造、等差数列性质
思路解析
- 数学规律验证:题目要求每行每列均为等差数列。第 行第 列填入 时:
- 行方向:固定 , 从 递增到 ,数值序列为 ,是公差为 的等差数列;
- 列方向:固定 , 从 递增到 ,数值序列为 ,是公差为 的等差数列。
因此 满足题意。
- 矩阵生成:使用双重循环遍历行号 和列号 ,直接计算并输出乘积 。
- 格式控制:每个数字后跟空格分隔,每行结束后输出换行符。
完整代码
#include <bits/stdc++.h>
using namespace std;
int main() {
int n, m;
cin >> n >> m;
// 遍历每一行 i(1-indexed)
for (int i = 1; i <= n; i++) {
// 遍历当前行的每一列 j
for (int j = 1; j <= m; j++) {
// 第i行第j列的值为 i*j,行内形成公差为i的等差数列
cout << i * j << " ";
}
cout << endl; // 每行结束换行
}
return 0;
}
这里空空如也

有帮助,赞一个