蛇形填数——蓝桥杯(简单)

题目描述

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

 

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

public class Main {
    public static void main(String[] args) {
      /*
      斜着看,第1层1个,第2层2个,第3层3个...
      规律:第n行n列在2n-1层,即这层有2n-1个数,且(n,n)个是平均值
      */
      int n = 20;  // n行n列
      int sum = 0;
      for(int i=1; i<=2*n-1; i++){
        sum = sum + i;  // 计算出2n-1层的最大数
      }
      System.out.println((sum+sum-(2*n-1)+1)/2);  // sum-(2*n-1)+1是最小值,把所在层的最大的数和最小的数相加求平均得(n,n)

    }
}

 

posted @ 2023-01-03 03:08  抹茶泡芙  阅读(86)  评论(0)    收藏  举报