কম্পিউটার টিউটোরিয়াল

পাইথনে যাচাই করুন ১ ও ২ সম্বলিত অ্যারে সমান যোগফলের দুই অংশে ভাগ করা যায় কিনা

ধরুন, nums নামক একটি অ্যারে আছে যাতে শুধু ১ এবং ২ থাকে। আমাদের যাচাই করতে হবে যে এই অ্যারেটি কি দুইটি অংশে ভাগ করা যায় যাতে দুটি অংশের যোগফল সমান হয়।

যেমন, ইনপুট nums = [1, 1, 2, 2, 2] হলে আউটপুট হবে True, কারণ এটি [1, 1, 2] (যোগফল ৪) এবং [2, 2] (যোগফল ৪) আকারে ভাগ করা যায়।

সমাধানের ধাপসমূহ

  • total = sum(nums) এবং one_count = nums.count(1)।
  • যদি total বিজোড় হয়, তবে False ফেরত দিন (কারণ বিজোড় সংখ্যা সমান দুই ভাগে ভাগ করা যায়না)।
  • যদি (total // 2) % 2 == 0 হয় (অর্থাৎ অর্ধেক যোগফল জোড় হয়), তবে True ফেরত দিন।
  • যদি one_count > 0 হয়, তবে True ফেরত দিন (কারণ ১ থাকলে সমান ভাগ সম্ভব)।
  • অন্যথায় False ফেরত দিন।

উদাহরণ কোড

def solve(nums):
    total = sum(nums)
    one_count = nums.count(1)
    if total % 2:
        return False
    if (total // 2) % 2 == 0:
        return True
    if one_count > 0:
        return True
    return False

nums = [1, 1, 2, 2, 2]
print(solve(nums))

ইনপুট

[1, 1, 2, 2, 2]

আউটপুট

True
  1. পাইথনে তালিকা জোড়া বাঁটতে পারলে যোগফল k-গুণিতক হয় কিনা যাচাই

  2. পাইথনে লিস্টকে দুটি সমান সম হয় এমন প্যার্টিশনে ভাগ করা সম্ভব কিনা চেক করা

  3. পাইথনে অ্যারেকে সমান যোগফলवाले সাবঅ্যারে-এ ভাগ করার যোগফল মানগুলো বের করুন

  4. পাইথনে অ্যারে তিনটি সমান সম পArtn-এ ভাগ (Partition Array Into Three Parts With Equal Sum in Python)