মান লেন, আমাদের কাছে একটি সংখ্যা n আছে। আমাদের যাচাই করতে হবে n Wagstaff প্রাইম কিনা। Wagstaff প্রাইম হল এমন একটি প্রাইম সংখ্যা যা নিচের রূপে থাকে:

যেখানে q হল একটি বিজোড় প্রাইম সংখ্যা।
যেমন, ইনপুট হলে n = 683, তবে আউটপুট হবে True কারণ n কে নিচের রূপে লেখা যায়:

এখানে q = 11। এবং q বিজোড় প্রাইম।
এটি সমাধান করতে আমরা নিচের ধাপগুলো অনুসরণ করব:
- যদি num প্রাইম হয় এবং (num*3 - 1) ও প্রাইম হয়, তবে 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 power_of_two(num):
return num and not(num & (num - 1))
def solve(num):
if isPrime(num) and power_of_two(num * 3 - 1):
return True
return False
n = 683
print(solve(n))
ইনপুট
683
আউটপুট
True