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:
Spring Boot Integration Testing with Embedded MongoDB
Control Structures in Java
Java Program to Perform the Shaker Sort
Check If Two Lists are Equal in Java
Thực thi nhiều tác vụ cùng lúc như thế nào trong Java?
Java Program to Implement Hash Tables Chaining with List Heads
Guide to Character Encoding
Spring Data – CrudRepository save() Method
Getting Started with Custom Deserialization in Jackson
Java Program to Implement HashSet API
Java Program to Implement vector
Spring 5 Testing with @EnabledIf Annotation
How to Round a Number to N Decimal Places in Java
Setting Up Swagger 2 with a Spring REST API
Spring Boot - Creating Docker Image
REST Web service: Upload và Download file với Jersey 2.x
Java Program to Perform Complex Number Multiplication
Apache Commons Collections MapUtils
Guide to Escaping Characters in Java RegExps
Introduction to Spring Boot CLI
Hướng dẫn kết nối cơ sở dữ liệu với Java JDBC
Removing all duplicates from a List in Java
Hướng dẫn sử dụng String Format trong Java
Spring MVC Content Negotiation
Java Program to Implement Quick Sort with Given Complexity Constraint
Receive email using POP3
Java Program to Implement Ternary Heap
Lớp LinkedHashMap trong Java
Beans and Dependency Injection
Introduction to the Functional Web Framework in Spring 5
Instance Profile Credentials using Spring Cloud
Predicate trong Java 8