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