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

ज्ञात कीजिए कि C++ में दिए गए अभाज्य से nCr विभाज्य है या नहीं

मान लीजिए कि तीन चर N, R और P हैं। N और R का उपयोग N प्राप्त करने के लिए किया जाता है सी<उप>आर और P एक अभाज्य है। हमें यह पता लगाना है कि क्या N सी<उप>आर P से विभाज्य है। मान लीजिए हमारे पास कुछ संख्याएँ N =7, R =2 और P =3 हैं, तो 7 सी<उप>2 =21, यह 3 से विभाज्य है, इसलिए आउटपुट सत्य होगा।

हम जानते हैं कि N सी<उप>आर =एन! / (आर! * (एन - आर)!)! हम पी की सबसे बड़ी शक्ति के लिए लीजेंड्रे फॉर्मूला का उपयोग करेंगे, जो किसी भी एन!, आर को विभाजित करता है! और (एन - आर)! एनसीआर को पी से विभाज्य होने के लिए, शर्त एन है!> आर! + (एन - आर)!

उदाहरण

#include <iostream>
using namespace std;
int getPower(int n, int p) {
   int pow = 0;
   while (n) {
      n /= p;
      pow += n;
   }
   return pow;
}
bool isDivisibleByP(int n, int r, int p) {
   // Find the highest powers of p
   // that divide n!, r! and (n - r)!
   int x1 = getPower(n, p);
   int x2 = getPower(r, p);
   int x3 = getPower(n - r, p);
   if (x1 > x2 + x3)
   return true;
   return false;
}
int main() {
   int n = 7, r = 2, p = 7;
   if (isDivisibleByP(n, r, p))
      cout << "nCr is divisible by P";
   else
      cout << "nCr is not divisible by P";
}

आउटपुट

nCr is divisible by P

  1. C++ में प्रथम N अभाज्य संख्याओं का गुणनफल ज्ञात कीजिए

    मान लीजिए कि हमारे पास एक संख्या n है। हमें 1 से n के बीच की अभाज्य संख्याओं का गुणनफल ज्ञात करना है। तो अगर n =7, तो आउटपुट 210 होगा, जैसे 2 * 3 * 5 * 7 =210। हम सभी अभाज्य संख्याओं को ज्ञात करने के लिए सिव ऑफ एराटोस्थनीज विधि का उपयोग करेंगे। फिर उनके गुणनफल की गणना करें। उदाहरण #include<iostr

  1. C++ में n के निकटतम और m से विभाज्य संख्या ज्ञात कीजिए

    मान लीजिए कि हमारे पास दो पूर्णांक n और m हैं। हमें n के निकटतम संख्या ज्ञात करनी है और m से भाग देना है। यदि ऐसी एक से अधिक संख्याएँ हैं, तो वह संख्या दर्शाइए जिसका अधिकतम निरपेक्ष मान है। यदि n, m से पूर्ण रूप से विभाज्य है, तो n लौटाएँ। तो अगर n =13, m =4, तो आउटपुट 12 है। इसे हल करने के लिए, हम

  1. C++ . में दिए गए स्ट्रिंग में "1(0+)1" के सभी पैटर्न खोजें

    मान लीजिए कि एक स्ट्रिंग में 1(0+)1 जैसे पैटर्न हैं। जहां (0+) 1s की गैर-रिक्त लगातार घटनाओं को इंगित करता है। हमें सभी पैटर्न खोजने होंगे। पैटर्न ओवरलैप कर सकते हैं। स्ट्रिंग जरूरी नहीं कि एक बाइनरी स्ट्रिंग हो। यह केवल अंक और लोअरकेस वर्ण धारण कर सकता है। मान लीजिए कि स्ट्रिंग 1101001 की तरह है, त