मान लीजिए कि हमारे पास एक संख्या n है, हमें यह जांचना है कि n एक भाज्य अभाज्य है या नहीं। जैसा कि हम जानते हैं कि किसी संख्या को भाज्य अभाज्य कहा जाता है जब वह अभाज्य संख्या होती है जो किसी संख्या के भाज्य से एक कम या एक अधिक होती है।
इसलिए, यदि इनपुट n =719 जैसा है, तो आउटपुट 719 =720 - 1 =6 के रूप में सही होगा! - 1
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- यदि अंक अभाज्य नहीं है, तो
- झूठी वापसी
- फैक्टोरियल:=1, i:=1
- फैक्टोरियल होने पर <=num + 1, do
- फैक्टोरियल:=फैक्टोरियल * i
- यदि संख्या + 1 भाज्य के समान है या संख्या -1 भाज्य के समान है, तो
- सही लौटें
- i :=i + 1
- झूठी वापसी
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
from math import sqrt def isPrime(num) : if num <= 1: return False if num <= 3 : return True if num % 2 == 0 or num % 3 == 0: return False for i in range(5, int(sqrt(num)) + 1, 6) : if num % i == 0 or num % (i + 2) == 0: return False return True def solve(num) : if not isPrime(num) : return False factorial = 1 i = 1 while factorial <= num + 1: factorial *= i if num + 1 == factorial or num - 1 == factorial : return True i += 1 return False num = 719 print(solve(num))
इनपुट
719
आउटपुट
True