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

পাইথনে অ্যারেতে K মান দিয়ে শেষে পৌঁছানো সম্ভব কিনা

একটি অ্যারে nums এবং মান k দেওয়া আছে। অ্যারেটি ট্রাভার্স করতে হবে। নন-প্রাইম এলিমেন্ট পেলে k ১ কমবে, প্রাইম পেলে k আবার প্রারম্ভিক মানে রিসেট হবে। শেষ إندেক্স পর্যন্ত পৌঁছানো সম্ভব কিনা যাচাই করতে হবে।

উদাহরণ

ইনপুট: nums = [8, 5, 6, 7, 8], k = 2

আউটপুট: True

অ্যালগরিদম

  1. temp = k রাখুন।
  2. প্রতিটি এলিমেন্টের জন্য:
    • প্রাইম হলে k = temp।
    • নন-প্রাইম হলে k -= 1।
    • যদি k <= 0 হয় এবং পরবর্তী এলিমেন্টও নন-প্রাইম হয়, তবে False।
  3. লুপ শেষ হলে True।

উদাহরণ কোড

def isPrime(num):
    if num > 1:
        for i in range(2, num):
            if num % i == 0:
                return False
        return True
    return False

def solve(arr, k):
    temp = k
    for i in range(len(arr)):
        if isPrime(arr[i]):
            k = temp
        else:
            k -= 1
        if k <= 0 and i < len(arr) - 1 and not isPrime(arr[i + 1]):
            return False
    return True

nums = [8, 5, 6, 7, 8]
k = 2
print(solve(nums, k))  # Output: True

ইনপুট

[8, 5, 6, 7, 8], 2

আউটপুট

True
  1. পাইথনে স্ট্রিং প্যাংগ্রাম (Pangram) কিনা চেক করা

  2. পাইথনে স্ট্রিং নাম্বার প্যালিনড্রোম কিনা চেক করা

  3. পাইথনে অ্যারে মনোটোনিক (Monotonic) কিনা চেক করা

  4. পাইথনে ফিবোনাচ্চি সংখ্যা কিনা তা যাচাই করার প্রোগ্রাম