কম্পিউটার

পাইথনে প্রদত্ত অ্যারের সমস্ত সাবয়ারের যোগফলের 2 পাওয়ার যোগফলের যোগফল খুঁজে বের করার জন্য প্রোগ্রাম


ধরুন আমাদের একটি তালিকা A আছে। আমরা A-এর সমস্ত নন-খালি সাবলিস্ট নিয়েছি কারণ আমরা জানি যে একটি তালিকা l যার n উপাদান রয়েছে (2n - 1) নন-খালি সাবলিস্ট। এখন প্রতিটি সাবলিস্টের জন্য, সে sublist_sum (উপাদানের যোগফল এবং S1 দ্বারা চিহ্নিত করে) গণনা করে , S2 , S3 , ... , S(2N-1) ) একটি বিশেষ যোগফল P আছে যেমন P =2 S1 + 2 S2 +2 S3 .... + 2 S(2N-1) . আমাদের P খুঁজে বের করতে হবে। যদি P খুব বড় হয় তাহলে P মোড (10^9 + 7) ফেরত দিন।

সুতরাং, যদি ইনপুটটি A =[2,2,3] এর মত হয়, তাহলে আউটপুট হবে উপসেটগুলি হল

  • {2} তাই 2^2 =4
  • {2} তাই 2^2 =4
  • {3} তাই 2^3 =8
  • {2,2} তাই 2^4 =16
  • {2,3} তাই 2^5 =32
  • {2,3} তাই 2^5 =32
  • {2,2,3} তাই 2^7 =128

যোগফল হল 4 + 4 + 8 + 16 + 32 + 32 + 128 =224

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

  • উত্তর:=1
  • m:=10^9+7
  • A-এর প্রতিটি el-এর জন্য করুন
    • উত্তর :=উত্তর *(1 + (2^el mod m))
    • উত্তর :=ans mod m
  • রিটার্ন (m + ans-1) mod m

উদাহরণ

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

def solve(A):
   ans=1
   m=10**9+7

   for el in A:
      ans *= (1+pow(2,el,m))
      ans %= m
   return (m+ans-1) % m


A = [2,2,3]
print(solve(A))

ইনপুট

[2,2,3]

আউটপুট

224

  1. পাইথন প্রোগ্রামে অ্যারের সমষ্টি খুঁজুন

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

  3. পাইথন প্রোগ্রাম a no দুইটির শক্তি কিনা তা খুঁজে বের করতে

  4. অ্যারের যোগফল খুঁজে পেতে পাইথন প্রোগ্রাম