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

सी ++ प्रोग्राम फर्मेट प्राइमलिटी टेस्ट करने के लिए

फ़र्मेट प्राइमलिटी टेस्ट यह जांचने के लिए करता है कि दी गई संख्या अभाज्य है या नहीं। यहाँ इस एल्गोरिथम का C++ कोड दिया गया है।

एल्गोरिदम

Begin
   modulo(base, e, mod)
   a = 1
   b = base
   while (e > 0)
      if (e mod 2 == 1)
         a = (a * b) % mod
         b = (b * b) % mod
         e = e / 2
      return a % mod
End

Begin
   Fermat(ll m, int iterations)
   if (m == 1)
      return false
   done
   for (int i = 0; i < iterations; i++)
      ll x = rand() mod (m - 1) + 1
      if (modulo(x, m - 1, m) != 1)
         return false
      done
   return true
End

उदाहरण कोड

#include <cstring>
#include <iostream>
#include <cstdlib>
#define ll long long
using namespace std;
ll modulo(ll base, ll e, ll mod) {
   ll a = 1;
   ll b = base;
   while (e > 0) {
      if (e % 2 == 1)
         a = (a * b) % mod;
         b = (b * b) % mod;
         e = e / 2;
   }
   return a % mod;
}
bool Fermat(ll m, int iterations) {
   if (m == 1) {
      return false;
   }
   for (int i = 0; i < iterations; i++) {
      ll x = rand() % (m - 1) + 1;
      if (modulo(x, m - 1, m) != 1) {
         return false;
      }
   }
   return true;
}
int main() {
   int iteration = 70;
   ll num;
   cout<<"Enter integer to test primality: ";
   cin>>num;
   if (Fermat(num, iteration))
      cout<<num<<" is prime"<<endl;
   else
      cout<<num<<" is not prime"<<endl;
   return 0;
}

आउटपुट

Enter integer to test primality: 13 is prime

  1. C++ प्रोग्राम किसी भी मैट्रिक्स का LU अपघटन करने के लिए

    एक मैट्रिक्स का LU अपघटन इसके निचले त्रिकोणीय मैट्रिक्स और ऊपरी त्रिकोणीय मैट्रिक्स के उत्पाद के रूप में एक मैट्रिक्स का निर्माण करता है। मैट्रिक्स के LU अपघटन में LU लोअर अपर के लिए होता है। मैट्रिक्स के LU अपघटन का एक उदाहरण नीचे दिया गया है - Given matrix is: 1 1 0 2 1 3 3 1 1 The L matrix is: 1

  1. सी++ प्रोग्राम जटिल संख्या गुणा करने के लिए

    जटिल संख्याएं वे संख्याएं हैं जिन्हें a+bi के रूप में व्यक्त किया जाता है जहां i एक काल्पनिक संख्या है और a और b वास्तविक संख्याएं हैं। सम्मिश्र संख्याओं के कुछ उदाहरण हैं - 2+3i 5+9i 4+2i सम्मिश्र संख्या गुणन करने का कार्यक्रम इस प्रकार है - उदाहरण #include<iostream> using namespace std; int

  1. मैट्रिक्स गुणन करने के लिए C++ प्रोग्राम

    मैट्रिक्स संख्याओं का एक आयताकार सरणी है जिसे पंक्तियों और स्तंभों के रूप में व्यवस्थित किया जाता है। मैट्रिक्स का एक उदाहरण इस प्रकार है। एक 3*2 मैट्रिक्स में 3 पंक्तियाँ और 2 कॉलम होते हैं जैसा कि नीचे दिखाया गया है - 8 1 4 9 5 6 एक प्रोग्राम जो मैट्रिक्स गुणन करता है वह इस प्रकार है। उदाहरण #i