题解 | #尼科彻斯定理#

尼科彻斯定理

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

全部评论

相关推荐

不愿透露姓名的神秘牛友
09-15 12:11
点赞 评论 收藏
分享
213456789:鹅网络问的特别多,多看看小林coding的tcp部分
查看3道真题和解析
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务