কম্পিউটার

পাইথনে সংখ্যার তালিকা থেকে গাণিতিক ক্রম সংখ্যা খুঁজে বের করার প্রোগ্রাম?


ধরুন আমাদের কাছে সংখ্যার একটি তালিকা আছে যাকে nums বলা হয়, আমাদের দৈর্ঘ্য ≥ 3 এর সংলগ্ন পাটিগণিত ক্রমগুলির সংখ্যা খুঁজে বের করতে হবে। যেমন আমরা জানি একটি গাণিতিক ক্রম হল সংখ্যাগুলির একটি তালিকা যেখানে একটি সংখ্যা এবং পরবর্তী সংখ্যার মধ্যে পার্থক্য একই।

সুতরাং, যদি ইনপুট সংখ্যার মত হয় =[6, 8, 10, 12, 13, 14], তাহলে আউটপুট হবে 4, যেমন আমাদের গাণিতিক ক্রম রয়েছে:[6, 8, 10] [8, 10, 12] [6, 8, 10, 12] [12, 13, 14]

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

  • গণনা :=0, উত্তর :=0

  • আমি পরিসীমা 2 থেকে সংখ্যার আকারের জন্য, করুন

    • যদি nums[i] - nums[i - 1] nums[i - 1] - nums[i - 2] এর মত হয়, তাহলে

      • গণনা :=গণনা + 1

    • অন্যথায়,

      • ans :=ans + ভাগফল (গণনা * (গণনা + 1)) / 2

      • গণনা :=0

  • যদি গণনা অ-শূন্য হয়, তাহলে

    • ans :=ans + ভাগফল (count *(count + 1)) / 2

  • উত্তর ফেরত দিন

আরও ভালভাবে বোঝার জন্য আসুন নিম্নলিখিত বাস্তবায়ন দেখি:

উদাহরণ

class Solution:
   def solve(self, nums):
      count = 0
      ans = 0
      for i in range(2, len(nums)):
         if nums[i] - nums[i - 1] == nums[i - 1] - nums[i - 2]:
            count += 1
         else:
            ans += (count * (count + 1)) // 2
            count = 0
      if count:
         ans += (count * (count + 1)) // 2
      return ans

ob = Solution()
nums = [6, 8, 10, 12, 13, 14]
print(ob.solve(nums))

ইনপুট

[6, 8, 10, 12, 13, 14]

আউটপুট

4

  1. পাইথন প্রোগ্রাম একটি তালিকার ক্ষুদ্রতম সংখ্যা খুঁজে বের করতে

  2. পাইথন প্রোগ্রামে একটি তালিকায় ইতিবাচক এবং নেতিবাচক সংখ্যা গণনা করুন

  3. পাইথন প্রোগ্রাম একটি তালিকায় সবচেয়ে বড় সংখ্যা খুঁজে বের করতে

  4. একটি তালিকা থেকে N বৃহত্তম উপাদান খুঁজে পেতে পাইথন প্রোগ্রাম