蛇形填数 (蓝桥杯) JAVA

题目描述:

如下图所示,小明用从1 开始的正整数“蛇形”填充无限大的矩阵


蛇形填数 (蓝桥杯) JAVA_第1张图片

容易看出矩阵第二行第二列中的数是5。请你计算矩阵中第20 行第20 列的数是多少?

容易看出矩阵第二行第二列中的数是5。请你计算矩阵中第20 行第20 列的数是多少?


答案:761

解题思路:

最开始,我还想着在数组内打印这个蛇形数组,但是发现不好打印,所以试着去找规律。
问题问的也很特别,20行20列,行列一样,我们刚好可以去找行列相同的点之间的关系。试着去扩充蛇形矩阵可以发现
如 (1,1)对应 1,(2, 2)对应5, (3,3)对应 13,(4, 4) 对应 25,(5,5) 对应 41 …
多猜测不难发现 5 - 1 = 4,13 - 5 = 8,25 - 13 = 12 ,41 - 25 = 16
4, 8, 12,16,后者比前者多 4,所以后面就不必多说了
代码如下:

import java.util.Scanner;

public class Main {
 
 public static void main(String[] args){
 int sum = 1;
 int add = 0;
 for(int i = 1; i <= 20; i ++) {
	 sum = sum + add;
	 add = add + 4;
 }
 System.out.print(sum);
}
}

你可能感兴趣的:(java,蓝桥杯,算法)