Computer >> Máy Tính >  >> Lập trình >> Python

Trình tự kết nối bằng Python

Giả sử chúng ta có một số n, chúng ta phải tìm số hạng thứ n của dãy Connell. Kết nối như sau:1. Lấy số nguyên lẻ đầu tiên:1 2. Lấy hai số nguyên chẵn tiếp theo 2, 4 3. Lấy ba số nguyên lẻ tiếp theo 5, 7, 9 4. Sau đó lấy bốn số nguyên chẵn tiếp theo 10, 12 , 14,16 Và như vậy.

Vì vậy, nếu đầu vào là 12, thì đầu ra sẽ là 21

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • i:=1
  • while thương số của (i * (i + 1) / 2)
  • i:=i + 1
  • idx:=i * (i + 1) / 2, chỉ lấy thương số
  • num:=i ^ 2
  • trả về num - 2 * (idx - n - 1)
  • Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

    Ví dụ

    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))

    Đầu vào

    12

    Đầu ra

    21