编程语言
首页 > 编程语言> > 蓝桥杯:蛇形填数(Java)

蓝桥杯:蛇形填数(Java)

作者:互联网

题目

如下图所示,小明用从 1 开始的正整数“蛇形”填充无限大的矩阵。
在这里插入图片描述
容易看出矩阵第二行第二列中的数是 5。请你计算矩阵中第 20 行第 20 列的数是多少?

答案提交

这是一道结果填空的题,你只需要算出结果后提交即可。
本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

解题思路

  1. 题目要我们计算矩阵第20行第20列(即数组索引为[19,19]),这个位置很特殊,在对角线上,所以我们先考虑能不能从对角线上的数字寻找到规律。我们写出更多的数字,如下图:
    在这里插入图片描述
  2. 我们单独取出对角线上的数字进行分析,如下图:
    在这里插入图片描述
  3. 从图片上我们可以看出,对角线上的数字,每一位都比前一位加的数字如①所示,而每一次加的数字都是上一次加的数字中+4的结果,如②所示。因此我们很容易就找到了规律。
  4. 由于题目求第20行第20列,即数组中索引从0开始的第19行19列,通过循环我们可以很快得到结果,代码如下:
	public void C(){
		int[] arr=new int[20];
		arr[0]=1;
		int add=4;
		for(int i=1;i<20;i++){
			arr[i]=arr[i-1]+add;
			add+=4;
		}
		System.out.println(arr[19]);
	}

答案:761

标签:20,数字,int,矩阵,蓝桥,19,填数,对角线,Java
来源: https://blog.csdn.net/lena7/article/details/115584402