মান লিজিয়ে আমাদের একটি সংখ্যা n আছে। আমাদের যাচাই করতে হবে n কি একটি স্ট্রং প্রাইম (strong prime)। আমরা জানি একটি সংখ্যা স্ট্রং প্রাইম বলা হয় যখন এটি একটি মৌলিক সংখ্যা যা আশেপাশের মৌলিক সংখ্যাগুলোর গড়ের চেয়ে বড়।
যেমন, ইনপুট যদি num = 37 হয়, তবে আউটপুট হবে True কারণ আশেপাশের মৌলিক সংখ্যাগুলো হল ৩১ এবং ৪১, গড় হল (৩১+৪১)/২ = ৩৬। এবং ৩৭ > ৩৬।
সমাধানের ধাপসমূহ
- যদি
numমৌলিক নয় বাnum২ হয়, তবে:Falseরিটার্ন করুন
last := num - 1, next := num + 1- যখন
nextমৌলিক নয়, করুন:next := next + 1
- যখন
lastমৌলিক নয়, করুন:last := last - 1
avg := (last + next) / 2- যদি
num > avgহয়, তবে:Trueরিটার্ন করুন
Falseরিটার্ন করুন
উদাহরণ
বेहतर বোঝার জন্য নিচের বাস্তবায়নটি দেখুন:
def isPrime(num):
if num > 1:
for i in range(2,num):
if num % i == 0:
return False
return True
return False
def solve(num):
if isPrime(num) == False or num == 2:
return False
last = num - 1
next = num + 1
while isPrime(next) == False:
next += 1
while isPrime(last) == False:
last -= 1
avg = (last + next) / 2
if num > avg:
return True
return False
num = 37
print(solve(num))
ইনপুট
37
আউটপুট
True