Python 中的康奈尔序列
pythonserver side programmingprogramming更新于 2025/12/25 15:40:17
假设我们有一个数字 n,我们必须找到康奈尔序列的第 n 项。康奈尔 序列如下:1. 取第一个奇数:1 2. 取接下来的两个偶数 2、4 3. 然后取接下来的三个奇数 5、7、9 4. 之后取接下来的四个偶数 10、12、14、 16 等等。
因此,如果输入是 12,则输出将是 21
要解决这个问题,我们将遵循以下步骤 −
- i := 1
- while quotient of (i *(i + 1) / 2) < n + 1,执行
- i := i + 1
- idx := i *(i + 1) / 2,仅取商
- num := i^2
- 返回 num - 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
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

