蓝桥练习(JAVA)——蛇形填数

题目描述

如下图所示,小明用从 1 开始的正整数“蛇形”填充无限大的矩阵。
1 2 6 7 15 …
3 5 8 14 …
4 9 13 …
10 12 …
11 …

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

答案

761

解题

思路
直接草稿纸计算. 观察矩阵, 从左下到右上的斜线, 第一道斜线上有一个数,第二道斜线上有两个数, 第n道斜线上有n个数.

其中, 数字从1开始加一, 第n道斜线的第n个数为n(1+n)/2.

每一斜线的数字增大方向, 一行变一次, 单数行为左下到右上, 双数行为右上到左下.

求矩阵中第20行第20列的数, 在斜线的角度上看,是第39斜线的第20个数字.

39是奇数,第39斜线的数字方向是左下到右上, 先求第20行第20列所在的斜线的前面总共有多少个数,再加上20就是答案.

第38道斜线的第38个数为 38*(1+38)/2 = 741
741+20 = 761

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值