मान लीजिए कि हमारे पास एक संख्या n है। हमें यह जांचना है कि विषम अंकों और सम अंकों का गुणनफल समान है या नहीं।
इसलिए, यदि इनपुट n =2364 जैसा है, तो आउटपुट सही होगा क्योंकि विषम संख्याओं का गुणनफल 2 * 6 =12 है और सम संख्याओं का गुणनफल 3 * 4 =12 है जो समान हैं।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- यदि संख्या <10, तो
- झूठी वापसी
- विषम_स्थान:=1, सम_स्थान:=1
- संख्या> 0 होने पर,
- . करें
- d :=संख्या का अंतिम अंक
- विषम_स्थान:=विषम_स्थान * d
- संख्या:=भागफल (संख्या/10)
- यदि संख्या 0 के समान है, तो
- ब्रेक
- d :=संख्या का अंतिम अंक
- सम_स्थान:=सम_स्थान * घ
- संख्या:=भागफल (संख्या/10)
- यदि विषम_स्थान सम_स्थान के समान है, तो
- सही लौटें
- झूठी वापसी
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
def solve(num): if num < 10: return False odd_place = 1 even_place = 1 while num > 0: d = num % 10 odd_place *= d num = num//10 if num == 0: break d = num % 10 even_place *= d num = num//10 if odd_place == even_place: return True return False num = 2364 print(solve(num))
इनपुट
2364
आउटपुट
True