इस खंड में हम देखेंगे कि कैसे जांचा जाए कि कोई संख्या विषम है या यहां तक कि किसी भी प्रकार के सशर्त कथनों जैसे (<, <=, !=,>,>=, ==) का उपयोग किए बिना।
हम सशर्त बयानों का उपयोग करके आसानी से विषम या सम की जांच कर सकते हैं। हम संख्या को 2 से विभाजित कर सकते हैं, फिर जांच सकते हैं कि शेषफल 0 है या नहीं। यदि 0 है, तो यह सम है। अन्यथा हम संख्या और 1 के साथ प्रदर्शन और संचालन कर सकते हैं। यदि उत्तर 0 है, तो यह सम है, अन्यथा विषम है।
यहां किसी भी कंडीशनल स्टेटमेंट का इस्तेमाल नहीं किया जा सकता है। हम विषम या सम की जाँच करने के लिए दो अलग-अलग तरीके देखेंगे।
विधि 1
यहां हम स्ट्रिंग्स की एक सरणी बनाएंगे। सूचकांक 0 स्थिति "सम" धारण करेगी, और सूचकांक 1 स्थिति "विषम" धारण करेगी। हम सीधे परिणाम प्राप्त करने के लिए संख्या को 2 से विभाजित करने के बाद शेष को इंडेक्स के रूप में भेज सकते हैं।
उदाहरण कोड
#include<stdio.h> main() { int n; char* arr[2] = {"Even", "Odd"}; printf("Enter a number: "); //take the number from the user scanf("%d", &n); printf("The number is: %s", arr[n%2]); //get the remainder to choose the string }
आउटपुट 1
Enter a number: 40 The number is: Even
आउटपुट 2
Enter a number: 89 The number is: Odd
विधि 2
यह दूसरी विधि है। इस तरीके में हम कुछ ट्रिक्स का इस्तेमाल करेंगे। यहां लॉजिकल और बिटवाइज ऑपरेटरों का उपयोग किया जाता है। सबसे पहले हम संख्या और 1 के साथ प्रदर्शन और संचालन कर रहे हैं। फिर तार्किक का उपयोग करके और विषम या सम को प्रिंट करने के लिए। जब बिटवाइज़ AND का परिणाम 1 होता है, तो केवल लॉजिकल AND ऑपरेशन विषम परिणाम लौटाएगा, अन्यथा यह सम वापस आ जाएगा।
उदाहरण कोड
#include<stdio.h> main() { int n; char *arr[2] = {"Even", "Odd"}; printf("Enter a number: "); //take the number from the user scanf("%d", &n); (n & 1 && printf("odd"))|| printf("even"); //n & 1 will be 1 when 1 is present at LSb, so it is odd. }
आउटपुट 1
Enter a number: 40 even
आउटपुट 2
Enter a number: 89 odd