【GESP真题解析】第 20 集 GESP 二级 2025 年 3 月编程题 1:等差矩阵

大家好,我是莫小特。

这篇文章给大家分享 GESP 二级 2025 年 3 月编程题第 1 题:等差矩阵。

题目链接

洛谷链接:B4259 等差矩阵

一、完成输入

根据题意,一行,两个正整数 n,m。

n 和 m的数据范围:对于所有测试点,保证 1≤n,m≤50。

使用 int 就够了。

cpp 复制代码
int y,m,d,h,k;
cin>>y>>m>>d>>h>>k;

输入部分完成后,我们来分析题目意思。

二、分析题意

根据题目描述,小 A 想构造一个 n 行 m 列的矩阵,使得矩阵的每一行与每一列均是等差数列,这个看不出什么意思,可以代入到样例输入和样例输出中。

再根据题目中说明的:在矩阵的第 i 行第 j 列填入整数 i×j,得到的矩阵能满足要求。

所以使用二维数组解决,数据范围:1≤n,m≤50

cpp 复制代码
int x[55][55];

第 i 行第 j 列填入整数 i×j,转为代码:

cpp 复制代码
x[i][j]=i*j;

使用 for 循环嵌套,遍历 i 和 j 的值。

cpp 复制代码
for(int i=1;i<=n;i++)
{
	for(int j=1;j<=m;j++)
	{
		x[i][j]=i*j;
	}
}

最后完成输出即可。

cpp 复制代码
for(int i=1;i<=n;i++)
{
	for(int j=1;j<=m;j++)
	{
		cout<<x[i][j]<<" ";	
	}	
	cout<<"\n";
}

三、验证数据

提交到网站中,通过!

四、完整代码

完整代码如下:

cpp 复制代码
#include <iostream>
using namespace std;
int x[55][55];
int main()
{
	int n,m;
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
		{
			x[i][j]=i*j;
		}
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
		{
			cout<<x[i][j]<<" ";	
		}	
		cout<<endl;
	} 
}
相关推荐
2401_891482174 分钟前
C++代码复杂性分析
开发语言·c++·算法
keep intensify5 分钟前
单词搜索-
算法·深度优先
zx_zx_1236 分钟前
定长滑动窗口和不定长滑动窗口
数据结构·算法
C羊驼6 分钟前
C语言学习笔记(十):操作符
c语言·开发语言·经验分享·笔记·学习
mjhcsp12 分钟前
C++ 梯度下降法(Gradient Descent):数值优化的核心迭代算法
开发语言·c++·算法
yunyun3212319 分钟前
跨语言调用C++接口
开发语言·c++·算法
m0_5180194823 分钟前
C++中的装饰器模式变体
开发语言·c++·算法
xushichao198930 分钟前
高性能密码学库
开发语言·c++·算法
偷懒下载原神30 分钟前
【linux操作系统】信号
linux·运维·服务器·开发语言·c++·git·后端
m0_5180194832 分钟前
C++代码混淆与保护
开发语言·c++·算法