ধরুন আমাদের একটি সংখ্যা n আছে। আমাদের চেক করতে হবে n ওয়াগস্টাফ প্রাইম কি না। আমরা জানি ওয়াগস্টাফ প্রাইম হল একটি মৌলিক সংখ্যা যা নিম্নলিখিত আকারে রয়েছে।
যেখানে q একটি বিজোড় মৌলিক সংখ্যা।
সুতরাং, যদি ইনপুটটি n =683 এর মত হয়, তাহলে আউটপুট হবে True n হিসাবে উপস্থাপন করা যেতে পারে
সুতরাং এখানে q =11। এবং q হল বিজোড় প্রাইম।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- যদি num প্রাইম হয় এবং (num*3 - 1)ও প্রাইম হয়, তাহলে
- সত্য ফেরান
- মিথ্যে ফেরত দিন
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
উদাহরণ কোড
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