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

Python-এ অ্যারে-এর প্রাইম এলিমেন্টগুলোর যোগফল প্রাইম কিনা যাচাই করা


মান লেন, আমাদের কাছে একটি অ্যারে nums আছে। আমাদের যাচাই করতে হবে অ্যারেতে থাকা সব প্রাইম এলিমেন্টগুলোর যোগফলও প্রাইম কিনা।

যেমন, ইনপুট হলে nums = [1,2,4,5,3,3], তবে আউটপুট হবে True কারণ সব প্রাইমের যোগফল (2+5+3+3) = 13 এবং 13 ও প্রাইম।

এটি সমাধান করতে আমরা নিচের ধাপগুলো অনুসরণ করব:

  • MAX := 10000
  • sieve := MAX সাইজের লিস্ট true দিয়ে ফিল করা।
  • generate_list_of_primes() ফাংশন সংজ্ঞায়িত করুন।
  • sieve[0] := False, sieve[1] := False
  • i কে 2 থেকে MAX-1 পর্যন্ত লুপ চালান:
    • যদি sieve[i] true হয়, তবে j কে 2*i থেকে MAX পর্যন্ত i করে বাড়িয়ে sieve[j] := False করুন।
  • মূল মেথড থেকে:
    • generate_list_of_primes() কল করুন।
    • total := 0
    • i কে 0 থেকে arr সাইজ - ১ পর্যন্ত লুপ চালান:
      • যদি sieve[arr[i]] true হয়, তবে total += arr[i]।
    • যদি sieve[total] true হয়, তবে True রিটার্ন করুন।
    • False রিটার্ন করুন।

উদাহরণ কোড

MAX = 10000
sieve = [True] * MAX

def generate_list_of_primes():
    sieve[0] = False
    sieve[1] = False
    for i in range(2, MAX):
        if sieve[i]:
            for j in range(2*i, MAX, i):
                sieve[j] = False

def solve(arr):
    generate_list_of_primes()
    total = 0
    for i in range(len(arr)):
        if sieve[arr[i]]:
            total += arr[i]
    if sieve[total]:
        return True
    return False

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

ইনপুট

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

আউটপুট

True

  1. পাইথনে একটি সংখ্যা ডাইহেড্রাল প্রাইম (Dihedral Prime) কিনা যাচাই করা

  2. পাইথন প্রোগ্রামে অ্যারের যোগফল বের করা

  3. পাইথনে অ্যারের যোগফল বের করা

  4. পাইথনে একটি সংখ্যা প্রাইম (Prime) কিনা তা কীভাবে যাচাই করবেন?