本文主要是介绍蓝桥杯:蛇形填数(Java),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
题目
如下图所示,小明用从 1 开始的正整数“蛇形”填充无限大的矩阵。
容易看出矩阵第二行第二列中的数是 5。请你计算矩阵中第 20 行第 20 列的数是多少?
答案提交
这是一道结果填空的题,你只需要算出结果后提交即可。
本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
解题思路
- 题目要我们计算矩阵第20行第20列(即数组索引为[19,19]),这个位置很特殊,在对角线上,所以我们先考虑能不能从对角线上的数字寻找到规律。我们写出更多的数字,如下图:
- 我们单独取出对角线上的数字进行分析,如下图:
- 从图片上我们可以看出,对角线上的数字,每一位都比前一位加的数字如①所示,而每一次加的数字都是上一次加的数字中+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)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!