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

C++ में बड़ी संख्या के अभाज्य गुणनखंड

इस समस्या में, हमें एक पूर्णांक N <=10^18 दिया जाता है। हमारा काम संख्या के सभी अभाज्य गुणनखंडों को घटना की आवृत्ति के साथ प्रिंट करना है।

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

Input: 100
Output: 2 2
   5 2
Explanation: prime factorization of 100 = 2 * 2 * 5 * 5.

इस समस्या को हल करने के लिए, हमें संख्या के अभाज्य गुणनखंडों को खोजना होगा और फिर उनकी आवृत्तियों की गणना करनी होगी।

इसके लिए हम 2 की बारंबारता को गुणनखंड के रूप में जांचेंगे और संख्या को 2 से विभाजित करेंगे। फिर 3 से वर्गमूल n तक चेक करें। विभाजित करें और प्रत्येक अभाज्य संख्या की आवृत्ति बढ़ाएं जो संख्या का एक कारक है। और अगर संख्या 1 हो जाए तो रुक जाएं। फिर सभी अभाज्य संख्याओं को आवृत्तियों के साथ प्रिंट करें।

नीचे दिया गया कोड हमारे समाधान के कार्यान्वयन को दर्शाता है,

उदाहरण

#include <iostream>
#include <math.h>
using namespace std;
void factorize(long long n){
   int count = 0;
   while (!(n % 2)) {
      n/= 2;
      count++;
   }
   if (count)
      cout<<2<<"\t"<<count<<endl;
   for (long long i = 3; i <= sqrt(n); i += 2) {
      count = 0;
      while (n % i == 0) {
         count++;
         n = n / i;
      }
      if (count)
      cout<<i<<"\t"<<count<<endl;
   }
   if (n > 2)
   cout<<n<<"\t"<<1<<endl;
}
int main() {
   long long N = 21000;
   cout<<"The prime factors and their frequencies of the number "<<N<<" are \n";
   factorize(N);
   return 0;
}

आउटपुट

The prime factors and their frequencies of the number 21000 are
2   3
3   1
5   3
7   1
. हैं
  1. n में अभाज्य संख्या p की घात ज्ञात करना! सी++ में

    इस समस्या में, हमें एक संख्या n और एक अभाज्य संख्या p दी गई है। हमारा काम है n में अभाज्य संख्या p की घात ज्ञात करना! समस्या को समझने के लिए एक उदाहरण लेते हैं, Input : n = 6, p = 2 Output : 4 समाधान दृष्टिकोण समस्या का एक सरल समाधान केवल n! का मान ज्ञात करना है। और इसका गुणनखंड करें, और गुणनखंड

  1. C++ में मितव्ययी संख्या

    इस समस्या में, हमें एक धनात्मक पूर्णांक N दिया जाता है। हमारा कार्य यह जाँचने के लिए एक प्रोग्राम बनाना है कि दी गई संख्या मितव्ययी संख्या है या नहीं। मितव्ययी संख्या - एक संख्या जिसके अंकों की संख्या दी गई संख्या के अभाज्य गुणनखंड में अंकों की संख्या से अधिक है। उदाहरण − 625, संख्या 625 का अभाज्

  1. सी++ पेंटाटोप नंबर

    पास्कल के त्रिभुज में एक पंचकोण संख्या को पाँचवीं संख्या के रूप में वर्णित किया गया है। अब, जैसा कि आप जानते हैं, यह पांचवीं संख्या है, तो इसका मतलब है कि हमारे पास पास्कल के त्रिकोण में कम से कम पांच संख्याएं होनी चाहिए, इसलिए इस श्रृंखला की पहली संख्या 1 4 6 4 1 से शुरू होती है। पास्कल त्रिभुज की