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

C++ में 1 से N तक अनियंत्रित सह-अभाज्य युग्मों की संख्या की गणना करने के लिए प्रश्न

इस समस्या में, हमें क्यू प्रश्न दिए गए हैं जिनमें से प्रत्येक में एक संख्या एन है। हमारा कार्य सी ++ में 1 से एन तक अनियंत्रित कोप्राइम जोड़े की संख्या की गणना करने के लिए प्रश्नों को हल करने के लिए एक प्रोग्राम बनाना है।

सह-प्रमुख अपेक्षाकृत अभाज्य या पारस्परिक रूप से अभाज्य के रूप में भी जाना जाता है, संख्याओं की जोड़ी है जिसमें केवल एक कारक होता है अर्थात 1.

समस्या को समझने के लिए एक उदाहरण लेते हैं,

इनपुट :क्यू =2, प्रश्न =[5, 6]

आउटपुट :10

स्पष्टीकरण

जोड़े हैं:(1, 1), (1, 2), (1, 3), (1, 4), (1, 5), (2, 3), (2, 5), (3, 4 ), (3, 5), (4, 5)

समाधान दृष्टिकोण

समस्या का सबसे आशाजनक समाधान यूलर के टोटिएंट फंक्शन फी (एन) का उपयोग कर रहा है। phi(N) दिए गए मान N तक सह-अभाज्य संख्याओं की कुल संख्या की गणना करता है। यूलर का टोटिएंट फ़ंक्शन है,

$$𝛷(𝑁) =/𝑁 (1 −),$$

जहाँ p, N के सभी अभाज्य गुणनखंड हैं।

अब, हम N तक अनियोजित सहअभाज्य युग्मों की संख्या की संख्या के मान की पूर्व-गणना करेंगे और फिर पूर्व-परिकलित सरणी से प्रत्येक क्वेरी का मान ज्ञात करेंगे।

उदाहरण

#include <iostream>
using namespace std;
#define N 10001
int phi[N];
int CoPrimePairs[N];
   void computePhi(){
      for (int i = 1; i < N; i++)
         phi[i] = i;
      for (int p = 2; p < N; p++) {
      if (phi[p] == p) {
         phi[p] = p - 1;
         for (int i = 2 * p; i < N; i += p) {
            phi[i] = (phi[i] / p) * (p - 1);
         }
      }
   }
}
void findCoPrimes() {
   computePhi();
   for (int i = 1; i < N; i++)
      CoPrimePairs[i] = CoPrimePairs[i - 1] + phi[i];
}
int main() {
   findCoPrimes();
   int Q = 3;
   int query[] = { 5, 7, 9};
   for (int i = 0; i < Q; i++)
      cout<<"For Query "<<(i+1)<<": Number of prime pairs is "<<CoPrimePairs[query[i]]<<endl;
   return 0;
}

आउटपुट

For Query 1: Number of prime pairs is 10
For Query 2: Number of prime pairs is 18
For Query 3: Number of prime pairs is 28

  1. C++ का उपयोग करके किसी सरणी में अद्वितीय युग्मों की संख्या ज्ञात कीजिए

    C++ में सरणी सिंटैक्स में कई अद्वितीय जोड़े बनाने के लिए हमें उपयुक्त ज्ञान की आवश्यकता होती है। अद्वितीय युग्मों की संख्या ज्ञात करने में, हम दिए गए सरणी में सभी अद्वितीय युग्मों की गणना करते हैं, अर्थात्, सभी संभावित जोड़े बनाए जा सकते हैं जहाँ प्रत्येक जोड़ी अद्वितीय होनी चाहिए। उदाहरण के लिए - I

  1. पहले N प्राकृत संख्याओं में से उन युग्मों की संख्या जिनका योग C++ . में K से विभाज्य है

    संख्या N और K को देखते हुए, हमें उन युग्मों की संख्या गिननी है जिनका योग K से विभाज्य है। आइए एक उदाहरण देखें। इनपुट N = 3 K = 2 आउटपुट 1 केवल एक युग्म है जिसका योग K से विभाज्य है और युग्म (1, 3) है। एल्गोरिदम N और K को इनिशियलाइज़ करें। N तक प्राकृतिक संख्याएँ उत्पन्न करें और उन्हें एक सरणी

  1. C++ का उपयोग करके OpenCV में चेहरों की संख्या कैसे गिनें?

    एक छवि में स्थित चेहरों की संख्या गिनना आसान है। पिछले भाग में हमने जो प्रोग्राम लिखा था, उसमें पहले से ही faces.size () में चेहरों की संख्या की जानकारी है। यह कोड-faces.size () एक पूर्णांक मान देता है। उदाहरण के लिए, यदि हम int x =face.size () लिखते हैं, तो x में चेहरों की संख्या होगी। निम्न प्रो