Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

C++ प्रोग्राम कुशलतापूर्वक किसी संख्या की समता का पता लगाने के लिए

इस लेख में, हम दी गई संख्या N की समता ज्ञात करने के लिए एक प्रोग्राम पर चर्चा करेंगे।

समता को किसी संख्या के द्विआधारी प्रतिनिधित्व में सेट बिट्स ('1' की संख्या) की संख्या के रूप में परिभाषित किया गया है।

यदि द्विआधारी प्रतिनिधित्व में '1' की संख्या सम है, तो समता को सम समता कहा जाता है और यदि द्विआधारी प्रतिनिधित्व में '1' की संख्या विषम है, तो समता को विषम समता कहा जाता है।

यदि दी गई संख्या N है, तो हम निम्नलिखित कार्य कर सकते हैं।

  • y =N ^ (N>> 1)
  • y =y ^ (y>> 2)
  • y =y ^ (y>> 4)
  • y =y ^ (y>> 8)
  • y =y ^ (y>> 16)

एक बार ये सभी ऑपरेशन हो जाने के बाद, y में सबसे दाहिना बिट संख्या की समता का प्रतिनिधित्व करेगा। यदि बिट 1 है, तो समता विषम होगी और यदि बिट 0 होगी, तो समता सम होगी।

उदाहरण

#include <bits/stdc++.h>
using namespace std;
bool calc_parity(int N) {
   int y;
   y= N ^ (N >> 1);
   y = y ^ (y >> 2);
   y = y ^ (y >> 4);
   y = y ^ (y >> 8);
   y = y ^ (y >> 16);
   //checking the rightmost bit
   if (y & 1)
      return 1;
   return 0;
}
int main() {
   int n=1345;
   int result = calc_parity(n);
   if(result==1)
      cout << "Odd Parity" << endl;
   else
      cout << "Even Parity" << endl;
   return 0;
}

आउटपुट

Even Parity

  1. C++ में एक लाइन के मध्य-बिंदु को खोजने का प्रोग्राम

    इस समस्या में, हमें दो बिंदु A और B दिए गए हैं, जो एक रेखा के आरंभ और अंत बिंदु हैं। हमारा काम C++ में एक लाइन के मध्य-बिंदु को खोजने के लिए एक प्रोग्राम बनाना है। समस्या का विवरण - यहाँ, हमारे पास एक रेखा है जिसमें शुरुआती और अंत बिंदु A(x1, y1) और B(x2, y2) हैं। और हमें रेखा के मध्य-बिंदु को खोजन

  1. C++ में त्रिभुज के केंद्रक को खोजने का कार्यक्रम

    इस समस्या में, हमें एक 2D सरणी दी गई है जो त्रिभुज के तीन शीर्षों के निर्देशांकों को दर्शाती है। हमारा काम C++ में त्रिभुज के Centroid को खोजने के लिए एक प्रोग्राम बनाना है। सेंट्रोइड त्रिभुज का वह बिंदु है जिस पर त्रिभुज की तीन माध्यिकाएं प्रतिच्छेद करती हैं। माध्यिका त्रिभुज की वह रेखा है जो त्र

  1. C++ में समांतर चतुर्भुज का क्षेत्रफल ज्ञात करने का कार्यक्रम

    इस समस्या में, हमें दो मान दिए गए हैं जो समांतर चतुर्भुज के आधार और ऊंचाई को दर्शाते हैं। हमारा कार्य C++ में समांतर चतुर्भुज का क्षेत्रफल ज्ञात करने के लिए एक प्रोग्राम बनाना है। समांतर चतुर्भुज एक चार भुजा बंद आकृति है जिसकी विपरीत भुजाएँ एक दूसरे के समान और समानांतर हैं। समस्या को समझने के लि