题解 | #尼科彻斯定理#
尼科彻斯定理
https://www.nowcoder.com/practice/dbace3a5b3c4480e86ee3277f3fe1e85
import sys
n = int(input())
sum = 0
for i in range(n):
sum += i
start = sum*2+1
for j in range(n):
if j == n-1:
print(start,end='')
else:
print(start,end='+')
start += 2
定律定理大多有规律
1 = 1 -> 1个数累加
2 = 3+5 ->2个数累加
3 = 7+9+11 ->3个数累加
4 = 13+15+17+19 ->4个数累加
5 = 21+23+25+27+29 -> 5个数累加
6 = 31+33+35+37+39+41 ->6个数累加
这一看就是1 3 5 7 9 11 ...的奇数序列,找到指定的几个,第n+1个数列组的第一个数恰好是前n个数的和的2倍+1:
2 的第一个数是 3 =(0+1)*2 + 1= 3
3 的第一个数是 7 = (1+2)*2 + 1 = 7
4 的第一个数是 11 = (1+2+3)*2 +1 = 11
5 的第一个数是 21 = (1+2+3+4)*2 + 1 = 21
6 的第一个数是 31 = (1+2+3+4+5)*2 + 1 = 31
