This is the java implementation of Multiply With Carry (MWC) algorithm to generate a set of random numbers. The main advantages of the MWC method are that it invokes simple computer integer arithmetic and leads to very fast generation of sequences of random numbers with immense periods. The formula it uses is, x(n) = (a*x(n-r) + c(n-1))mod n and c(n) = (a*x(n-r) + c(n-1))/n, where a is any multiplier, m is modulus, c is carry and r is initial number of seeds.
Here is the source code of the Java Program to Generate Random Numbers Using Multiply with Carry Method. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.
//This is a sample program to generate a random numbers based on Multiply with carry method import java.util.Random; public class Multiply_With_Carry { public static void main(String args[]) { int max_Sequence_Elements = 10; Random random = new Random(); int base_b = 2000; int multiplier_a = random.nextInt(base_b); int r = 1; int []c = new int[max_Sequence_Elements]; int []x = new int[max_Sequence_Elements]; c[0] = random.nextInt(multiplier_a); x[0] = random.nextInt(base_b); System.out.print("The random number sequence is: " + x[0]); //generating sequence for(int i=1; i<max_Sequence_Elements; i++) { x[i] = (multiplier_a*x[i-r] + c[i-1]) % base_b; c[i] = (multiplier_a*x[i-r] + c[i-1]) / base_b; System.out.print(" " + x[i]); } } }
Output:
$ javac Multiply_With_Carry.java $ java Multiply_With_Carry The random number sequence is: 795 382 1487 260 475 1798 1347 722 1389 63
Related posts:
A Guide to JUnit 5 Extensions
Write/Read cookies using HTTP and Read a file from the internet
Copy a List to Another List in Java
Java – InputStream to Reader
Allow user:password in URL
Tiêu chuẩn coding trong Java (Coding Standards)
Java Program to Implement Graham Scan Algorithm to Find the Convex Hull
Using Java Assertions
Loại bỏ các phần tử trùng trong một ArrayList như thế nào?
Java Program to Test Using DFS Whether a Directed Graph is Weakly Connected or Not
Phân biệt JVM, JRE, JDK
Java Program to Implement Pollard Rho Algorithm
Java – InputStream to Reader
Java Program to Implement ScapeGoat Tree
Java Program to Perform Right Rotation on a Binary Search Tree
Spring Boot - Creating Docker Image
Loại bỏ các phần tử trùng trong một ArrayList như thế nào trong Java 8?
Hướng dẫn sử dụng Java Annotation
Đồng bộ hóa các luồng trong Java
Java Program to Generate Random Numbers Using Middle Square Method
Một số từ khóa trong Java
Creating a Web Application with Spring 5
Finding Max/Min of a List or Collection
Introduction to the Functional Web Framework in Spring 5
Biến trong java
Java Program to Implement Strassen Algorithm
A Guide to HashSet in Java
Java Program to Find Basis and Dimension of a Matrix
Hướng dẫn Java Design Pattern – State
Java Program to Implement Extended Euclid Algorithm
Java Program to Check Whether Graph is DAG
Guide to @ConfigurationProperties in Spring Boot