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:
How to Define a Spring Boot Filter?
Test a REST API with Java
Mix plain text and HTML content in a mail
Java String to InputStream
A Comparison Between Spring and Spring Boot
Java Program to Implement Nth Root Algorithm
REST Pagination in Spring
Hướng dẫn Java Design Pattern – Object Pool
Java Program for Topological Sorting in Graphs
Hướng dẫn sử dụng Lớp FilePermission trong java
Remove the First Element from a List
The DAO with Spring and Hibernate
XML-Based Injection in Spring
Check if there is mail waiting
Java Program to Implement Levenshtein Distance Computing Algorithm
Java Program to Solve Set Cover Problem assuming at max 2 Elements in a Subset
Tiêu chuẩn coding trong Java (Coding Standards)
Java Program to Check if a Point d lies Inside or Outside a Circle Defined by Points a, b, c in a Pl...
Java – Write a Reader to File
Java Program to Perform Insertion in a 2 Dimension K-D Tree
Java Program to Implement Sorted Doubly Linked List
Using JWT with Spring Security OAuth
Spring Data – CrudRepository save() Method
Java Program to Perform Deletion in a BST
Java Program to Implement Hash Tables with Quadratic Probing
The XOR Operator in Java
A Guide to HashSet in Java
Java Program to Implement SynchronosQueue API
Number Formatting in Java
Converting Strings to Enums in Java
Java Program to Implement Maximum Length Chain of Pairs
Java Program to subtract two large numbers using Linked Lists