কম্পিউটার

Python-এ একটি অ্যারের শেষ পর্যন্ত পৌঁছানোর জন্য প্রদত্ত নম্বর K যথেষ্ট কিনা তা পরীক্ষা করুন


ধরুন আমাদের একটি অ্যারে সংখ্যা এবং আরেকটি মান k আছে। আমাদের পরীক্ষা করতে হবে যে এই ক্রিয়াকলাপগুলি সম্পাদন করে অ্যারের শেষ পর্যন্ত পৌঁছানো সম্ভব কি না অপারেশন:ট্রাভার্স সংখ্যা এবং, যদি কোনো নন-প্রাইম মান থাকে তাহলে k-এর মান 1 দ্বারা হ্রাস করুন। এখন যদি কোনো মান প্রাইম হয় তারপর k-এর মানকে তার প্রাথমিক মানের সাথে রিফিল করুন।

সুতরাং, যদি ইনপুটটি nums =[8, 5, 6, 7, 8], k =2 এর মত হয়, তাহলে আউটপুটটি True হবে কারণ nums[0] প্রাইম নয়, তারপর k =1 করুন, তারপর সংখ্যা[1] ] মৌলিক তাই k =2, তারপর সংখ্যা[2] মৌলিক নয় তাই k =1, আবার সংখ্যা[3] মৌলিক তাই k =2 এবং অবশেষে সংখ্যা [4] মৌলিক নয় এবং k =1 এবং আমরা শেষ সূচক।

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • তাপ :=k
  • এর জন্য 0 থেকে arr - 1 এর আকারের মধ্যে, do
    • যদি arr[i] প্রাইম হয়, তাহলে
      • k :=temp
    • অন্যথায়,
      • k :=k - 1
    • যদি k <=0 এবং i <এর আকার - 1 এবং arr[i + 1] প্রাইম না হয়, তাহলে
      • মিথ্যে ফেরত দিন
  • সত্য ফেরান

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

উদাহরণ কোড

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 isPrime(arr[i + 1]) == False:
         return False
         
   return True

nums = [8, 5, 6, 7, 8]
k = 2
print(solve(nums, k))

ইনপুট

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

আউটপুট

True

  1. প্রদত্ত স্ট্রিং প্যানগ্রাম কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম

  2. একটি প্রদত্ত স্ট্রিং নম্বর প্যালিনড্রোম কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম

  3. প্রদত্ত অ্যারেটি মনোটোনিক কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম

  4. পাইথন প্রোগ্রামে প্রদত্ত নম্বরটি ফিবোনাচি নম্বর কিনা তা কীভাবে পরীক্ষা করবেন?