मान लीजिए हमारे पास एक संख्या n है। हमें जांचना है कि n वैगस्टाफ प्राइम है या नहीं। जैसा कि हम जानते हैं वैगस्टाफ प्राइम एक अभाज्य संख्या है जो निम्नलिखित रूप में है।

जहां 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