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

পাইথনে অ্যারে দুই সাবঅ্যারে ভাগ করলে তাদের যোগফলের পার্থক্য K হয় কিনা

একটি অ্যারে input_list এবং একটি সংখ্যা n দেওয়া আছে। অ্যারেটি দুই অংশে ভাগ করে তাদের যোগফলের পার্থক্য n করা সম্ভব কিনা যাচাই করুন।

উদাহরণ

ইনপুট: input_list = [9, 2, 5, 6], n = 0

আউটপুট: Possible

অ্যালগরিদম

  1. মোট যোগফল list_total বের করুন।
  2. যদি (list_total - n) % 2 == 1 হয়, তবে অসম্ভব।
  3. টার্গেট সাবঅ্যারে যোগফল val = (list_total - n) / 2।
  4. প্রিফিক্স সাম ধরে val পাওয়া যায় কিনা চেক করুন।

উদাহরণ কোড

def solve(input_list, n):
    list_total = sum(input_list)
    if (list_total - n) % 2 == 1:
        return "Not Possible"
    val = (list_total - n) / 2
    temp_sum = 0
    for x in input_list:
        temp_sum += x
        if temp_sum == val:
            return "Possible"
    return "Not Possible"

input_list = [9, 2, 5, 6]
n = 0
print(solve(input_list, n))  # Output: Possible

ইনপুট

[9, 2, 5, 6], 0

আউটপুট

Possible
  1. পাইথনে তালিকাকে দুই ভাগে ভাগ করে মেডিয়ানের পার্থক্য ন্যূনতম করার প্রোগ্রাম

  2. পাইথনে চেসবোর্ডে ন্যূনতম কাট দিয়ে দুটি ভাগে ভাগ না করায় সর্বোচ্চ কাটের সংখ্যা বের করুন

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

  4. পাইথনে দুটি অ্যারে থেকে সমান সম্বলিত সাবঅ্যারে খুঁজে বের করা