蓝桥杯:蛇形填数(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
标签:20,数字,int,矩阵,蓝桥,19,填数,对角线,Java 来源: https://blog.csdn.net/lena7/article/details/115584402