मान लीजिए हमारे पास एक फ्लोटिंग पॉइंट नंबर है; हमें यह जांचना है कि संख्या विषम है या सम। सामान्य तौर पर, पूर्णांक के लिए अंतिम अंक को 2 से विभाजित करना आसान होता है। लेकिन फ्लोटिंग पॉइंट नंबर के लिए यह उस तरह सीधे आगे नहीं होता है। हम अंतिम अंक को 2 से विभाजित नहीं कर सकते यह जांचने के लिए कि यह विषम है या सम है।
इसलिए, यदि इनपुट n =200.90 की तरह है, तो आउटपुट विषम होगा, हालांकि अंतिम अंक 2 से विभाज्य है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- s :=संख्या को स्ट्रिंग के रूप में बदलें
- झंडा :=झूठा
- s - 1 से 0 के श्रेणी आकार में i के लिए, 1 से घटाएं
- अगर s[i] '0' है और झंडा गलत है, तो
- अगले पुनरावृत्ति के लिए जाएं
- यदि s[i] '.' के समान है, तो
- झंडा :=सच
- अगले पुनरावृत्ति के लिए जाएं
- यदि s[i] सम है, तो
- "सम" लौटाएं
- वापसी "विषम"
- अगर s[i] '0' है और झंडा गलत है, तो
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण कोड
def solve(n) : s = str(n) flag = False for i in range(len(s) - 1, -1, -1) : if s[i] == '0' and flag == False : continue if s[i] == '.': flag = True continue if int(s[i]) % 2 == 0 : return "Even" return "Odd" n = 200.290 print(solve(n))
इनपुट
200.290
आउटपुट
Odd