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

পাইথনে মৌলিক সংখ্যা সম্বলিত অ্যারের গুণফল পূর্ণবর্গ কিনা তা যাচাই করা

মান লিজিয়ে আমাদের একটি অ্যারে nums আছে যাতে সব মৌলিক সংখ্যা রয়েছে। আমাদের যাচাই করতে হবে nums-এ উপস্থিত সব সংখ্যার গুণফল একটি পূর্ণবর্গ (perfect square) কিনা।

যেমন, ইনপুট যদি nums = [3,3,7,7] হয়, তবে আউটপুট হবে True কারণ nums-এ সব উপাদানের গুণফল ৪৪১ যা একটি পূর্ণবর্গ কারণ ২১² = ৪৪১।

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

  • m := nums-এ উপস্থিত সব উপাদান এবং তাদের ফ্রিকোয়েন্সি ধারণকারী একটি ম্যাপ
  • nums-এ প্রতিটি কী জন্য, করুন:
    • যদি m[key] বিষম হয়, তবে:
      • False রিটার্ন করুন
  • True রিটার্ন করুন

উদাহরণ

বेहतर বোঝার জন্য নিচের বাস্তবায়নটি দেখুন:

from collections import defaultdict
def solve(nums):
    m = defaultdict(int)
    for key in nums:
        m[key] += 1
    for key in nums:
        if m[key] % 2 == 1:
            return False
    return True

nums = [3,3,7,7]
print(solve(nums))

ইনপুট

[3,3,7,7]

আউটপুট

True
  1. C++-তে অ্যারেতে থাকা সব প্রাইম নম্বরের গুণফল বের করা

  2. পাইথনে অ্যারে কনসিকিউটিভ (Consecutive) কিনা যাচাই

  3. পাইথনে যাচাই করুন অ্যারে সর্টেড এবং রোটেটেড কিনা

  4. পাইথনে Product of Array Except Self (নিজের বাদে সব উপাদানের গুণফল)