मान लीजिए, हमें एक बड़ी संख्या दी गई है और हमें यह जांचना है कि संख्या 19 से विभाज्य है या नहीं।
इसलिए, अगर इनपुट 86982 जैसा है, तो आउटपुट "विभाज्य" होगा।
हम इस समस्या को बार-बार जोड़ने की विधि का उपयोग करके हल करेंगे, जहां हम संख्या से अंतिम अंक निकालते हैं, इसे 2 से गुणा करते हैं, और परिणाम को शेष संख्या में तब तक जोड़ते हैं जब तक हमें दो अंकों की संख्या प्राप्त नहीं हो जाती है जो 19 से विभाज्य है।पी>
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- जबकि संख्या 100 से विभाज्य है, करें
- last_digit :=नंबर मॉड 10
- संख्या:=का न्यूनतम मान (संख्या 10 से विभाजित)
- संख्या:=संख्या + अंतिम_अंक * 2
- वापसी सही है, अगर संख्या mod 19 0 के समान है।
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
def solve(number) :
while(number // 100) :
last_digit = number % 10
number //= 10
number += last_digit * 2
return (number % 19 == 0)
number = 86982
if solve(number) :
print("Divisible")
else :
print("Not Divisible") इनपुट
86982
आउटपुट
Divisible