This is a C++ project for generating random numbers using different methods:
- ICG (Inversive Congruential Generator)
- MSM (Middle Square Method)
- LFG (Lagged Fibonacci Generator)
- MRG (Multiple Recursive Generators)
- KS Test (Kolmogorov-Smirnov Test)
This project implements various algorithms for generating random numbers and includes a method for testing the generated sequence with the KS (Kolmogorov-Smirnov) test. The methods implemented are as follows:
- ICG (Inversive Congruential Generator): Generates random numbers using the ICG rule: X(i+1) = (a / Xi) % m.
- MSM (Middle Square Method): Generates random numbers using the MSM rule: X(i) = (Xi)^2 -> mid % m.
- LFG (Lagged Fibonacci Generator): Generates random numbers using the LFG rule: X(i) = (Xi - j operator Xi - k) % m.
- MRG (Multiple Recursive Generators): Generates random numbers using the MRG rule: X(i+1) = sum(an * Xi - q) % m.
- KS Test (Kolmogorov-Smirnov Test): Performs the Kolmogorov-Smirnov test to evaluate the uniformity of the generated sequence.
- 
Clone this repository: git clone https://github.com/NermeenKamal/random-number-generator.git 
- 
Navigate to the project directory: cd random-number-generator 
- 
Compile the code: g++ -o random_number_generator random_number_generator.cpp 
- 
Run the program: ./random_number_generator 
- 
Follow the on-screen instructions to generate random numbers and perform the KS Test. 
- 
ICG: - Enter method number 1.
- Provide the required inputs.
- Generated random numbers will be displayed.
 
- Enter method number 
- 
MSM: - Enter method number 2.
- Provide the required inputs.
- Generated random numbers will be displayed.
 
- Enter method number 
- 
LFG: - Enter method number 3.
- Provide the required inputs.
- Generated random numbers will be displayed.
 
- Enter method number 
- 
MRG: - Enter method number 4.
- Provide the required inputs.
- Generated random numbers will be displayed.
 
- Enter method number 
- 
KS Test: - Enter method number 5.
- Choose whether you want to provide your own random numbers or not.
- Perform the test.
 
- Enter method number 
