একটি অ্যারে nums এবং মান k দেওয়া আছে। অ্যারেটি ট্রাভার্স করতে হবে। নন-প্রাইম এলিমেন্ট পেলে k ১ কমবে, প্রাইম পেলে k আবার প্রারম্ভিক মানে রিসেট হবে। শেষ إندেক্স পর্যন্ত পৌঁছানো সম্ভব কিনা যাচাই করতে হবে।
উদাহরণ
ইনপুট: nums = [8, 5, 6, 7, 8], k = 2
আউটপুট: True
অ্যালগরিদম
temp = kরাখুন।- প্রতিটি এলিমেন্টের জন্য:
- প্রাইম হলে
k = temp। - নন-প্রাইম হলে
k -= 1। - যদি
k <= 0হয় এবং পরবর্তী এলিমেন্টও নন-প্রাইম হয়, তবেFalse।
- প্রাইম হলে
- লুপ শেষ হলে
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