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:
Anonymous Classes in Java
Hướng dẫn Java Design Pattern – Null Object
A Guide To UDP In Java
Hướng dẫn sử dụng luồng vào ra ký tự trong Java
Using Optional with Jackson
Cài đặt và sử dụng Swagger UI
Java Program to Check if it is a Sparse Matrix
Converting String to Stream of chars
Getting a File’s Mime Type in Java
Hướng dẫn Java Design Pattern – Proxy
Java Program to Find kth Largest Element in a Sequence
SOAP Web service: Upload và Download file sử dụng MTOM trong JAX-WS
OAuth2 Remember Me with Refresh Token
Java Program to Implement ScapeGoat Tree
Java Program to Implement VList
REST Web service: Tạo ứng dụng Java RESTful Client với Jersey Client 2.x
Java Program to Implement K Way Merge Algorithm
Java Program to Permute All Letters of an Input String
Java NIO2 Path API
Java Program to Implement Sieve Of Sundaram
Spring Boot Integration Testing with Embedded MongoDB
Convert char to String in Java
Java Program to Implement the String Search Algorithm for Short Text Sizes
Java Program to Implement the Binary Counting Method to Generate Subsets of a Set
Java Program to Find kth Smallest Element by the Method of Partitioning the Array
HttpClient Basic Authentication
Concurrent Test Execution in Spring 5
Difference Between Wait and Sleep in Java
Java Program to Find the Longest Subsequence Common to All Sequences in a Set of Sequences
Using a Mutex Object in Java
Hướng dẫn Java Design Pattern – Interpreter
Introduction to Spring MVC HandlerInterceptor