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

C++ प्रोग्राम कैरी मेथड के साथ गुणा का उपयोग करके रैंडम नंबर जेनरेट करने के लिए

मल्टीप्ली-विद-कैरी विधि मार्सग्लिया और ज़मान (1991) द्वारा पेश किए गए ऐड-विद-कैरी जनरेटर का एक प्रकार है। इस पद्धति का मुख्य लाभ यह है कि यह सरल कंप्यूटर पूर्णांक अंकगणित को आमंत्रित करता है और लगभग 260 से 22000000 तक की विशाल अवधि के साथ यादृच्छिक संख्याओं के अनुक्रमों की बहुत तेज़ पीढ़ी की ओर जाता है।

MWC आधार में b को कंप्यूटर शब्द आकार के बराबर चुना जाता है और गुणक a और lag r मापांक निर्धारित करते हैं p =ab r -1. यहाँ, a को चुना जाता है ताकि मापांक अभाज्य हो और गुणक की लंबी अवधि हो।

एल्गोरिदम

Begin
   Declare maximum _sequence _elements, b, r, c[maximum _sequence _elements],
   x[maximum _sequence _elements]
   Read the variables maximum _sequence _elements, b, r
   m = rand() mod b
   c[0] = rand() mod m
   x[0] = rand() mod b
   For I = 1 to maximum_sequence_element, do
      x[i] = (m * x[i - r] + c[i - 1]) mod b
      c[i] = (m * x[i - r] + c[i - 1]) / b
      print the sequence.
   Done.
End.

उदाहरण कोड

#include <iostream>
using namespace std;
int main(int argc, char **argv) {
   int max_Seq_Elements = 7;
   int b = 300;
   int m = rand() % b;
   int r = 1;
   int c[max_Seq_Elements];
   int x[max_Seq_Elements];
   c[0] = rand() % m;
   x[0] = rand() % b;
   cout << "The random number sequence is: " << x[0];
   for (int i = 1; i < max_Seq_Elements; i++) {
      x[i] = (m * x[i - r] + c[i - 1]) % b;
      c[i] = (m * x[i - r] + c[i - 1]) / b;
      cout << " " << x[i];
   }
   cout << "...";
}

आउटपुट

The random number sequence is: 177 173 226 221 56 157 84...

  1. C++ प्रोग्राम दो संख्याओं को गुणा करने के लिए

    दो संख्याओं a और b के गुणन से उनका गुणनफल प्राप्त होता है। a का मान a और b का गुणनफल प्राप्त करने के लिए b के मान के रूप में कई बार जोड़ा जाता है। उदाहरण के लिए। 5 * 4 = 20 7 * 8 = 56 9 * 9 = 81 ऑपरेटर का उपयोग करके दो संख्याओं को गुणा करने का कार्यक्रम * ऑपरेटर का उपयोग करके दो संख्याओं को गुणा क

  1. सी # प्रोग्राम सुरक्षित यादृच्छिक संख्या उत्पन्न करने के लिए

    सुरक्षित यादृच्छिक संख्याओं के लिए, RNCryptoServiceProvider क्लास का उपयोग करें। यह एक क्रिप्टोग्राफ़िक रैंडम नंबर जेनरेटर लागू करता है। उसी वर्ग का उपयोग करते हुए, हमने निम्नलिखित का उपयोग करके कुछ यादृच्छिक मान पाए हैं - using (RNGCryptoServiceProvider crypto = new RNGCryptoServiceProvider()) { &

  1. पायथन का उपयोग करके सीक्रेट्स मैनेज करने के लिए सिक्योर रैंडम नंबर जेनरेट करें

    क्रिप्टोग्राफ़िक रूप से सुरक्षित यादृच्छिक संख्याएँ उत्पन्न करने के लिए हम रहस्य . का उपयोग कर सकते हैं पायथन में मॉड्यूल। यह मॉड्यूल सुरक्षित पासवर्ड, खाता प्रमाणीकरण, सुरक्षा टोकन या कुछ संबंधित रहस्य बनाने में मददगार है। सीक्रेट मॉड्यूल की कक्षाओं और मॉड्यूल का उपयोग करने के लिए, हमें उस मॉड्यूल