【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;
	} 
}
相关推荐
zhouwy1131 分钟前
Linux文件系统与IO编程
linux·c++
深邃-1 小时前
【数据结构与算法】-二叉树(2):实现顺序结构二叉树(堆的实现),向上调整算法,向下调整算法,堆排序,TOP-K问题
数据结构·算法·二叉树·排序算法·堆排序··top-k
We་ct4 小时前
LeetCode 5. 最长回文子串:DP + 中心扩展
前端·javascript·算法·leetcode·typescript
王老师青少年编程8 小时前
csp信奥赛C++高频考点专项训练之贪心算法 --【哈夫曼贪心】:合并果子
c++·算法·贪心·csp·信奥赛·哈夫曼贪心·合并果子
叼烟扛炮8 小时前
C++第二讲:类和对象(上)
数据结构·c++·算法·类和对象·struct·实例化
天疆说9 小时前
【哈密顿力学】深入解读航天器交会最优控制中的Hamilton函数
人工智能·算法·机器学习
wuweijianlove9 小时前
关于算法设计中的代价函数优化与约束求解的技术7
算法
leoufung10 小时前
LeetCode 149: Max Points on a Line - 解题思路详解
算法·leetcode·职场和发展
样例过了就是过了10 小时前
LeetCode热题100 最长公共子序列
c++·算法·leetcode·动态规划
HXDGCL10 小时前
矩形环形导轨:自动化循环线的核心运动单元解析
运维·算法·自动化