समस्या
वे पूर्णांक जो 2 से विभाज्य होते हैं, वे सम होते हैं; अन्य पूर्णांक विषम होते हैं। जिस संख्या में दशमलव भाग होता है, वह इनमें से कोई नहीं मानी जाती। शून्य सम है, और ऋणात्मक पूर्णांकों पर भी यही नियम लागू होता है।
number_parity(number) को लागू करें।
इनपुट
number: वर्गीकृत करने के लिए संख्या।
आउटपुट
odd, even या neither को छोटे अक्षरों में लौटाएँ।
सीमाएँ
−1,000,000 ≤ number ≤ 1,000,000। इनपुट सीमित है और अधिकतम दो दशमलव स्थान तक हो सकता है।
उदाहरण
इनपुट:
number = 14
अपेक्षित आउटपुट:
expected = "even"
इनपुट:
double number = 14;
अपेक्षित आउटपुट:
std::string expected = "even";
इनपुट:
double number = 14;
अपेक्षित आउटपुट:
string expected = "even";
व्याख्या
14 = 2 × 7, इसलिए यह 2 से विभाज्य है।
इनपुट:
number = 3.5
अपेक्षित आउटपुट:
expected = "neither"
इनपुट:
double number = 3.5;
अपेक्षित आउटपुट:
std::string expected = "neither";
इनपुट:
double number = 3.5;
अपेक्षित आउटपुट:
string expected = "neither";
व्याख्या
3.5 में दशमलव भाग है, इसलिए यह न तो विषम पूर्णांक है और न ही सम पूर्णांक।
कैसे हल करें
पहले खुद कोशिश करें, फिर एक-एक करके संकेत खोलें।
संकेत 1
पहले तय करें कि input पूरा number है या नहीं, क्योंकि fractional values odd या even नहीं होतीं।
संकेत 2
Whole numbers के लिए parity इस बात पर निर्भर करती है कि 2 से division पर remainder बचता है या नहीं।
संकेत 3
याद रखें कि 0 even है, और negative integers पर भी वही rule लागू होता है जो positive पर होता है।
अपेक्षित जटिलता
समय O(1), अतिरिक्त स्थान O(1)
संदर्भ
यह चुनौती CodeUtility के लिए अनुकूलित की गई है। ऊपर दिए गए स्टेटमेंट और सीमाओं का पालन करें।