蓝桥杯.Java.蛇形填数

题目描述

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

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

1 2 6 7 15 ...
3 5 8 14 ...
4 9 13 ...
10 12 ...
11 ...
...

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

题目解析

1、题目所提的从 1 开始的正整数“蛇形”填充无限大的矩阵是如下图一样的走向,像蛇形的走位

在这里插入图片描述

2、我们也可以以这样的规律,往下多写几行找找规律。

1 2 6 7 15 16 28 29 45 46...
3 5 8 14 17 27 30 44 47...
4 9 13 18 26 31 43 48...
10 12 19 25 32 42 49...
11 20 24 33 41 50...
21 23 34 40 51...
22 35 39 52...
36 38 53...
37 54...
55...

1)接着标出矩阵第二行第二列的5,与其他的行数与列数相同的所对应的数。

在这里插入图片描述

2)可以看出有:

矩阵第一行第一列:1

矩阵第二行第二列:5

矩阵第三行第三列:13

矩阵第四行第四列:25

矩阵第五行第五列:41

3)对1,5,13,25,41这几个数找规律

5 - 1 = 4

13 - 5 =8 = 4*2

25 - 13 = 12 = 4*3

41 - 25 = 16 = 4*4

4)可见这几个数之间的规律与 4 息息相关,或许我们可以换一种写法

1 + 4*1 = 5

5 + 4*2  = 13

13 + 4*3 = 25

25 + 4*4 = 41 

5)而第二、三、四条最前面的5,13,25也可以引用上一行的结果

注;由于md文档中两个“*”星号自动加粗了,所以为了方便观看,在式子里我只留了一个星号,把其他的改成 “x ”号了。

1 + 4*1 = 5

1 +  4x1 + 4*2  = 13

1 +  4x1 + 4x2  + 4*3  = 25

1 +  4x1 + 4x2  + 4x3 + 4*4 = 41

6)由此可见,规律就是:

第n行第n列的数 = 1 + (4 x1 + 4x2 +4x3 +……+4*n)

参考代码

package Java.practice.homework;

import java.util.Scanner;

public class Homework02
{
    public static void main(String[] args)
    {
        int num = 20;
        int sum = 1;//因为规律 1 + (4 x1 + 4x2 +4x3 +……+4*n)前有个1,所以要从 1 加起
        for(int i = 0;i < num;i++)
        {
            sum += i * 4 ;
        }
        System.out.println(sum);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

放下华子我只抽RuiKe5

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值