1. 问题描述:
输入格式
一个整数 n。
输出格式
一个整数 m。
数据范围
前三个测试点满足 1 ≤ n ≤ 3。
所有测试点满足 1 ≤ n ≤ 18257,1 ≤ m ≤ 2 × 10 ^ 9。
输入样例1:
1
输出样例1:
1
输入样例2:
2
输出样例2:
13
输入样例3:
3
输出样例3:
37
输入样例4:
100
输出样例4:
59401
来源:https://www.acwing.com/problem/content/description/3992/
2. 思路分析:
分析题目可以知道这是一道找规律的题目,我们需要求解n层以内方格的数量,可以发现当n = 2的时候其实是两个方块一组,总共有6组,当n = 3的时候四个方块一组,总共有6组,所以当n的k的时候有6组数量为(k - 1) * 2的方格,所以第n项的时候答案为6 * (2 + 4 + (n - 1) * 2) + 1 = 6 * 2 * (n - 1) * n / 2 + 1 = 6 * n * (n - 1) + 1。
3. 代码如下:
class Solution:
# 找规律
def process(self):
n = int(input())
return 6 * n * (n - 1) + 1
if __name__ == '__main__':
print(Solution().process())