2020年第十一届蓝桥杯 - 省赛 - Python大学组 - D.蛇形填数

Posted Alex_996

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2020年第十一届蓝桥杯 - 省赛 - Python大学组 - D.蛇形填数相关的知识,希望对你有一定的参考价值。

这道题同样还是:
2020年第十一届蓝桥杯 - 省赛 - C/C++研究生组 - D.蛇形填数
2020年第十一届蓝桥杯 - 省赛 - Java研究生组 - D.蛇形填数
2020年第十一届蓝桥杯 - 省赛 - C/C++大学生A组 - C.蛇形填数


Ideas

这题其实严格意义上属于一道找规律的题目,并不是啥算法题。

我们可以先按照它的规律多写几行。

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

可以发现我们对角线上的元素变化1 -> 5 -> 13 -> 25 -> 41

然后就是小学生找规律了:
1 + 4 = 5
1 + 4 + 8 = 13
1 + 4 + 8 + 12 = 25
1 + 4 + 8 + 12 + 16 = 41

规律显而易见,然后我们就可以开始敲代码模拟这个过程了。

Code

C++

#include <iostream> 

using namespace std;

int main() 
	int n = 20, ans = 1;
	for (int i = 1; i < n; i++) 
		ans += i * 4;
	
	cout << ans << endl;
	return 0;

Python

if __name__ == '__main__':
    ans, n = 1, 20
    for i in range(n):
        ans += i * 4
    print(ans)

Answer: 761

以上是关于2020年第十一届蓝桥杯 - 省赛 - Python大学组 - D.蛇形填数的主要内容,如果未能解决你的问题,请参考以下文章

2020年第十一届蓝桥杯 - 省赛 - Python大学组 - C.跑步锻炼

# 2020年第十一届蓝桥杯C/C++ B组第二场省赛真题

2020年第十一届蓝桥杯C/C++ B组第二场省赛真题

2020年第十一届蓝桥杯C/C++ B组第二场省赛真题

2020年第十一届蓝桥杯 - 省赛 - Python大学组 - G. 单词分析

2020年第十一届蓝桥杯 - 省赛 - C/C++大学生A组 - C.蛇形填数