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

题目描述

如下图所示,小明用从 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 @   抹茶泡芙  阅读(82)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示