This is a Java Program to Implement Fermat Primality Test Algorithm. Fermat Primality Test is an algorithm which is used to determine if a given number is prime or not.
Here is the source code of the Java Program to Implement Fermat Primality Test Algorithm. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.
/**
** Java Program to Implement Fermat Primality Test Algorithm
**/
import java.util.Scanner;
import java.util.Random;
/** Class FermatPrimality **/
public class FermatPrimality
{
/** Function to check if prime or not **/
public boolean isPrime(long n, int iteration)
{
/** base case **/
if (n == 0 || n == 1)
return false;
/** base case - 2 is prime **/
if (n == 2)
return true;
/** an even number other than 2 is composite **/
if (n % 2 == 0)
return false;
Random rand = new Random();
for (int i = 0; i < iteration; i++)
{
long r = Math.abs(rand.nextLong());
long a = r % (n - 1) + 1;
if (modPow(a, n - 1, n) != 1)
return false;
}
return true;
}
/** Function to calculate (a ^ b) % c **/
public long modPow(long a, long b, long c)
{
long res = 1;
for (int i = 0; i < b; i++)
{
res *= a;
res %= c;
}
return res % c;
}
/** Main function **/
public static void main (String[] args)
{
Scanner scan = new Scanner(System.in);
System.out.println("Fermat Primality Algorithm Test\n");
/** Make an object of FermatPrimality class **/
FermatPrimality fp = new FermatPrimality();
/** Accept number **/
System.out.println("Enter number\n");
long num = scan.nextLong();
/** Accept number of iterations **/
System.out.println("\nEnter number of iterations");
int k = scan.nextInt();
/** check if prime **/
boolean prime = fp.isPrime(num, k);
if (prime)
System.out.println("\n"+ num +" is prime");
else
System.out.println("\n"+ num +" is composite");
}
}
Output:
Fermat Primality Algorithm Test Enter number 999983 Enter number of iterations 2 999983 is prime
Related posts:
Cachable Static Assets with Spring MVC
Java Program to Create the Prufer Code for a Tree
Java Program to Implement Leftist Heap
Adding Parameters to HttpClient Requests
StringBuilder vs StringBuffer in Java
Spring Boot - Introduction
Java – Convert File to InputStream
Java Program to Use the Bellman-Ford Algorithm to Find the Shortest Path
Java Program to Remove the Edges in a Given Cyclic Graph such that its Linear Extension can be Found
Java Program to Compute the Volume of a Tetrahedron Using Determinants
Java Program to Implement Stack API
Java Program to Check whether Graph is Biconnected
Serialization và Deserialization trong java
Java Program to Implement the Bin Packing Algorithm
Java Program to Implement Graph Coloring Algorithm
Java Program to Perform Right Rotation on a Binary Search Tree
Using a List of Values in a JdbcTemplate IN Clause
Java Program to Implement ArrayDeque API
Guide To CompletableFuture
Command-Line Arguments in Java
Java Program to Perform Left Rotation on a Binary Search Tree
Chương trình Java đầu tiên
Java Program to Describe the Representation of Graph using Adjacency Matrix
Java Convenience Factory Methods for Collections
Spring Boot Tutorial – Bootstrap a Simple Application
Java Program to Implement Sorted Singly Linked List
Count Occurrences of a Char in a String
A Guide to LinkedHashMap in Java
Java Program to Implement Pairing Heap
Introduction to Spring Security Expressions
Find the Registered Spring Security Filters
Test a REST API with Java