मान लीजिए कि हमारे पास एक संख्या n है। हमें यह जांचना है कि n प्रबल अभाज्य है या नहीं। जैसा कि हम जानते हैं कि एक संख्या को मजबूत अभाज्य कहा जाता है जब वह एक अभाज्य संख्या होती है जो निकटतम अभाज्य संख्याओं के औसत से अधिक होती है।
इसलिए, यदि इनपुट संख्या =37 की तरह है, तो आउटपुट सही होगा क्योंकि निकटतम अभाज्य संख्याएँ 31 और 41 हैं, औसत (31+41)/2 =36 है। और 37> 36.
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- यदि अंक अभाज्य नहीं है या संख्या 2 है, तो
- झूठी वापसी
- अंतिम:=अंक -1, अगला:=अंक + 1
- जबकि अगला अभाज्य नहीं है, करें
- अगला:=अगला + 1
- जबकि अंतिम अभाज्य नहीं है, करें
- अंतिम:=अंतिम - 1
- औसत :=(अंतिम + अगला) / 2
- यदि संख्या> औसत, तो
- सही लौटें
- झूठी वापसी
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
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