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

C++ . में दी गई श्रेणी में x^2 =1 (mod p) के समाधानों की संख्या गिनें


हमें पूर्णांक x और p दिए गए हैं। लक्ष्य समीकरण −x 2 . के हलों की संख्या ज्ञात करना है =1 (मॉड पी) जैसे कि x रेंज [1,N] में है।

हम इसे 1 से N तक पार करके करेंगे और प्रत्येक संख्या को x के रूप में जांचेंगे कि क्या (x*x)%p==1 है। अगर हाँ तो गिनती बढ़ाएँ।

आइए उदाहरणों से समझते हैं।

इनपुट - n=5, p=2

आउटपुट - समाधानों की संख्या - 3

स्पष्टीकरण - 1 से 5 की सीमा के बीच।

12=1%2=1, count=1
22=4%2=0, count=1
32=9%2=1, count=2
42=16%2=0, count=2
52=25%2=1, count=3
Total number of solutions=3.

इनपुट - n=3, p=4

आउटपुट - समाधानों की संख्या - 2

स्पष्टीकरण - 1 से 3 की सीमा के बीच।

12=1%4=1, count=1
22=4%4=0, count=1
32=9%4=1, count=2
Total number of solutions=2

नीचे दिए गए कार्यक्रम में उपयोग किया गया दृष्टिकोण इस प्रकार है

  • हम दो चर n और p लेते हैं।

  • फ़ंक्शन समाधानगणना(int n,int p) दोनों पैरामीटर n और p लेता है और समीकरण के लिए समाधानों की संख्या देता है:x 2 %p==1 (या x 2 =1 (मॉड पी))।

  • x=1 से x=n तक, जांचें कि क्या x*x==1, यदि हां, तो वृद्धि की गणना करें।

  • लूप के अंत में, गिनती में समाधानों की संख्या होगी।

  • परिणाम के रूप में वापसी की गिनती।

उदाहरण

#include<bits/stdc++.h>
using namespace std;
int solutionsCount(int n, int p){
   int count = 0;
   for (int x=1; x<=n; x++){
      if ((x*x)%p == 1)
         { ++count; }
   }
   return count;
}
int main(){
   int n = 8, p = 3;
   cout<<"Number of solutions :"<<solutionsCount(n, p);
   return 0;
}

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -

Number of solutions : 6

  1. सी ++ में दिए गए एन में 1 जोड़ने के बाद बिट्स की संख्या बदल गई

    हमें एक संख्या दी गई है मान लीजिए संख्या और कार्य संख्या में 1 जोड़े जाने पर बदले गए बिट्स की कुल संख्या की गणना करना है। किसी संख्या का द्विआधारी निरूपण दी गई संख्या को 0 और 1 के रूप में परिवर्तित करके किया जाता है और यह विभिन्न विधियों द्वारा किया जाता है। एक विधि में, हम किसी दिए गए नंबर के एलसी

  1. C++ में हेक्साडेसिमल संख्या गिनें

    हमें प्रारंभ और अंत वाली एक श्रेणी दी गई है और कार्य दिए गए श्रेणी में मौजूद हेक्साडेसिमल संख्याओं या वर्णों की गणना करना है। हेक्साडेसिमल अक्षर क्या हैं? कंप्यूटर के संदर्भ में, हेक्साडेसिमल संख्याएँ वे संख्याएँ होती हैं जिनका आधार 16 होता है, जिसका अर्थ है कि द्विआधारी अंक को 16-बिट में दर्शाया ज

  1. C++ में दी गई श्रेणी में भाज्य संख्याओं की गणना करें

    हमें एक चर द्वारा धारित पूर्णांक मान से शुरू होने वाली श्रेणी दी गई है, मान लीजिए कि चर अंत तक शुरू होता है और कार्य दी गई सीमा में उपलब्ध भाज्य संख्याओं की कुल संख्या की गणना करना है। फैक्टोरियल नंबर क्या है किसी संख्या के भाज्य की गणना अंकों के अंकों को 1 से घटाते हुए अंकों को गुणा करके की जाती ह