蓝桥杯:蛇形填数(Java)

2021/4/10 22:14:57

本文主要是介绍蓝桥杯:蛇形填数(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



这篇关于蓝桥杯:蛇形填数(Java)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程