কম্পিউটার

পাইথনে কনেল সিকোয়েন্স


ধরুন আমাদের একটি সংখ্যা n আছে, আমাদের কনেল সিকোয়েন্সের nম পদটি বের করতে হবে। Connellsequence নিম্নরূপ:1. প্রথম বিজোড় পূর্ণসংখ্যা নিন:1 2. পরের দুটি জোড় পূর্ণসংখ্যা নিন 2, 4 3. তারপর পরবর্তী তিনটি বিজোড় পূর্ণসংখ্যা 5, 7, 9 4 নিন। এর পর পরের চারটি জোড় পূর্ণসংখ্যা 10, 12 নিন , 14,16 ইত্যাদি।

সুতরাং, যদি ইনপুট 12 এর মত হয়, তাহলে আউটপুট হবে 21

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • i :=1
  • এর ভাগফল (i *(i + 1) / 2)
  • i :=i + 1
  • idx :=i *(i + 1) / 2, শুধুমাত্র ভাগফল নিন
  • সংখ্যা :=i^2
  • রিটার্ন নম্বর - 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. issuperset() পাইথনে

    2. পাইথনে একটি তালিকা প্রিন্ট করুন

    3. পাইথনে ক্রম সূচক দ্বারা কিভাবে পুনরাবৃত্তি করবেন?

    4. পাইথনে কোলন ':' অপারেটর কী করে?