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

सी ++ प्रोग्राम मॉड्यूलर एक्सपोनेंटिएशन एल्गोरिदम लागू करने के लिए

यह मॉड्यूलर एक्सपोनेंटिएशन एल्गोरिथम को लागू करने के लिए एक C++ प्रोग्राम है।

एल्गोरिदम

Begin
   function modular():
   // Arguments: base, exp, mod.
   // Body of the function:
      initialize res = 1
      while (exp > 0)
         if (exp mod 2 == 1)
         res= (res * base) % mod
         exp = exp left shift 1
         base = (base * base) % mod
      return res.
End

उदाहरण

#include <iostream>
using namespace std;
long long modular(long long base, long long exp, int mod) {
   long long res = 1;
   while (exp > 0) {
      if (exp % 2 == 1)
         res= (res * base) % mod;
      exp = exp >> 1;
      base = (base * base) % mod;
   }
   return res;
}
int main() {
   long long b, e;
   int mod;
   cout<<"Enter Base : ";
   cin>>b;
   cout<<"Enter Exponent: ";
   cin>>e;
   cout<<"Enter Modular Value: ";
   cin>>mod;
   cout<<modular(b, e , mod);
   return 0;
}

आउटपुट

Enter Base : 7
Enter Exponent: 6
Enter Modular Value: 26
25

  1. पार्क-मिलर रैंडम नंबर जनरेशन एल्गोरिथम को लागू करने के लिए C++ प्रोग्राम

    पार्क-मिलर रैंडम नंबर जेनरेशन एल्गोरिथम रैंडम नंबर जेनरेट करने का एक और तरीका है। इस प्रकार के एक यादृच्छिक संख्या जनरेटर (RNG) का एक सामान्य सूत्र है:X_{k+1} =g X(k) mod n जहां मापांक n एक अभाज्य संख्या या अभाज्य संख्या का घात है, गुणक g उच्च गुणक क्रम मॉड्यूल n का एक तत्व है, और बीज X0 n से सहअभ

  1. सी ++ प्रोग्राम इंटरपोलेशन सर्च एल्गोरिदम लागू करने के लिए

    बाइनरी सर्च तकनीक के लिए, सूचियों को बराबर भागों में बांटा गया है। प्रक्षेप खोज तकनीक के लिए, प्रक्रिया प्रक्षेप सूत्र का उपयोग करके सटीक स्थिति का पता लगाने का प्रयास करेगी। अनुमानित स्थान खोजने के बाद, वह उस स्थान का उपयोग करके सूची को अलग कर सकता है। चूंकि यह हर बार सटीक स्थान खोजने की कोशिश करता

  1. सी ++ प्रोग्राम फिशर-येट्स एल्गोरिथम को एरे शफलिंग के लिए लागू करने के लिए

    फिशर-येट्स एल्गोरिथम सरणी तत्वों का एक यादृच्छिक क्रमपरिवर्तन उत्पन्न करता है अर्थात यह एक सरणी के सभी तत्वों को बेतरतीब ढंग से फेरबदल करता है। सरणी के लिए सभी क्रमपरिवर्तन समान रूप से होने की संभावना है क्योंकि फिशर-येट्स एल्गोरिथम निष्पक्ष है। C++ में सरणी फेरबदल के लिए फिशर-येट्स एल्गोरिथम को ला