मान लीजिए हमारे पास एक संख्या n है। हमें यह जांचना है कि क्या इसके सभी अंक इसे विभाजित कर सकते हैं या नहीं।
उदाहरण के लिए, यदि इनपुट n = 135 है, तो आउटपुट True होगा, क्योंकि (135 ÷ 1 = 135), (135 ÷ 3 = 45) और (135 ÷ 5 = 27) सभी पूर्णांक परिणाम देते हैं।
समाधान दृष्टिकोण
हम संख्या के प्रत्येक अंक को निकालते हैं (10 से विभाजित करके) और जांचते हैं कि मूल संख्या उस अंक से विभाज्य है या नहीं। ध्यान दें: अंक 0 को छोड़ना होगा क्योंकि 0 से विभाजन अपरिभाषित है।
एल्गोरिदम चरण:
val = n- जब
val > 0: d = val % 10(अंतिम अंक प्राप्त करें)- यदि
d == 0याn % d != 0, तो False लौटाएं val //= 10(अंतिम अंक हटाएं)- True लौटाएं
पायथन कार्यान्वयन
def is_divisible(n, d):
return d != 0 and n % d == 0
def solve(n):
val = n
while val > 0:
d = val % 10
if not is_divisible(n, d):
return False
val //= 10
return True
n = 135
print(solve(n)) # True
इनपुट
135
आउटपुट
True
व्याख्या:
संख्या 135 के अंक: 1, 3, 5
- 135 ÷ 1 = 135 ✓
- 135 ÷ 3 = 45 ✓
- 135 ÷ 5 = 27 ✓
सभी अंक 135 को विभाजित करते हैं।
किनारे के मामले:
यदि संख्या में 0 अंक है (जैसे 102), तो फ़ंक्शन False लौटाएगा क्योंकि 0 से विभाजन संभव नहीं है।