숫자 n이 있다고 가정하면 Connell 시퀀스의 n번째 항을 찾아야 합니다. Connellsequence는 다음과 같습니다. 1. 첫 번째 홀수 정수 가져오기:1 2. 다음 두 개의 짝수 정수 가져오기 2, 4 3. 다음 세 개의 홀수 정수 가져오기 5, 7, 9 4. 그 후 다음 네 개의 짝수 정수 가져오기 10, 12 , 14,16 등등.
따라서 입력이 12와 같으면 출력은 21이 됩니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
- i :=1
- (i *(i + 1) / 2)
- 나는 :=나는 + 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