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.跑步锻炼