কম্পিউটার

পাইথনে k দ্বারা বিভাজ্য ধারাবাহিক অনুক্রমের সংখ্যা খুঁজে বের করার প্রোগ্রাম


ধরুন আমাদের একটি অ্যারে সংখ্যা এবং একটি মান k আছে। আমাদের পরপর পরের সংখ্যা বের করতে হবে যার যোগফল k দ্বারা বিভাজ্য।

সুতরাং, যদি ইনপুটটি k =3 সংখ্যা =[1,2,3,4,1] এর মত হয়, তাহলে আউটপুট 4 হবে কারণ পরবর্তীগুলি হল [3], [1,2], [1,2,3] ] এবং [2,3,4]।

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

  • x :=k আকারের একটি অ্যারে এবং 0 দিয়ে পূরণ করুন
  • x[0] :=1
  • r:=0, s:=0
  • সংখ্যায় প্রতিটি উপাদানের জন্য, করুন
    • s :=(s + elem) mod k
    • r :=r + x[s]
    • x[s] :=x[s] + 1
  • রিটার্ন r

উদাহরণ

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

def solve(k, nums):
   x = [0]*k
   x[0] = 1
   r=s=0
   for elem in nums:
      s = (s+elem) % k
      r += x[s]
      x[s] += 1
   return r

k = 3
nums = [1,2,3,4,1]
print(solve(k, nums))

ইনপুট

3, [1,2,3,4,1]

আউটপুট

4

  1. পাইথন প্রোগ্রামে একটি সংখ্যার জোড় গুণনীয়কের সমষ্টি খুঁজুন

  2. একটি সংখ্যার বিজোড় গুণনীয়কের যোগফল খুঁজে বের করার জন্য পাইথন প্রোগ্রাম

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

  4. সংখ্যার ন্যূনতম যোগফল নির্ণয়ের জন্য পাইথন প্রোগ্রাম