สมมติว่าเรามีตัวเลข n เราต้องหาพจน์ที่ n ของลำดับคอนเนลล์ Connellsequence เป็นดังนี้:1. หาจำนวนเต็มคี่แรก:1 2. นำเลขคู่สองตัวถัดไป 2, 4 3. จากนั้นนำจำนวนเต็มคี่สามตัวถัดไป 5, 7, 9 4. หลังจากนั้นใช้จำนวนเต็มสี่คู่ถัดไป 10, 12 , 14,16 เป็นต้น
ดังนั้นหากอินพุตเท่ากับ 12 เอาต์พุตจะเป็น 21
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- ผม :=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