Python中的康奈尔序列
假设我们有一个数字n,我们必须找到Connell序列的第n个项。Connell序列如下:1.取第一个奇数整数:12.取下两个奇数整数2,43.然后取下三个奇数整数5、7、94。之后取下四个偶数整数10,12、14、16等。
因此,如果输入为12,则输出为21
为了解决这个问题,我们将遵循以下步骤-
i:=1
whilequotientof(i*(i+1)/2)<n+1,do
i:=i+1
idx:=i*(i+1)/2,takeonlyquotient
num:=i^2
returnnum-2*(idx-n-1)
让我们看下面的实现以更好地理解-
示例
class Solution:
def solve(self, n):
i = 1
while (i * (i + 1) // 2) < n + 1:
i += 1
idx = i * (i + 1) // 2
num = i**2
return num - 2 * (idx - n - 1)
ob = Solution()print(ob.solve(12))输入值
12
输出结果
21
热门推荐
1 如何训练狗狗不叫
2 训练狗狗不叫
3 训练狗狗随行
4 怎么训练狗狗不叫
7 训练比熊狗狗教程
10 上海狗狗训练
11 怎么训练狗狗上厕所
12 训练狗狗趴下
13 狗狗服从训练
14 训练狗狗拒食
15 训练狗狗笑
16 训练狗狗大便
17 训练狗狗立
18 训练狗狗捡东西