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:
Spring Boot - Internationalization
How to Set TLS Version in Apache HttpClient
Java Program to Find the Edge Connectivity of a Graph
A Guide to Queries in Spring Data MongoDB
Java Program to Perform Complex Number Multiplication
Java Program to implement Bit Set
Jackson – Change Name of Field
Java Switch Statement
Creating a Custom Starter with Spring Boot
Case-Insensitive String Matching in Java
HttpClient 4 – Send Custom Cookie
Testing in Spring Boot
Java Program to Implement WeakHashMap API
Java Program to Implement Maximum Length Chain of Pairs
DistinctBy in the Java Stream API
Java Program to Implement Skew Heap
Supplier trong Java 8
Java Program to Implement IdentityHashMap API
Annotation trong Java 8
Java 8 Streams peek() API
Java Program to Check Whether an Undirected Graph Contains a Eulerian Cycle
Java Program to Construct an Expression Tree for an Prefix Expression
Java Program to Implement Merge Sort on n Numbers Without tail-recursion
Spring MVC and the @ModelAttribute Annotation
Spring Boot - Admin Client
Java Program to Delete a Particular Node in a Tree Without Using Recursion
How to Change the Default Port in Spring Boot
Java Program to Solve the 0-1 Knapsack Problem
Java Program to Implement Miller Rabin Primality Test Algorithm
Introduction to Eclipse Collections
Java Program to Perform Addition Operation Using Bitwise Operators
Java Program to Check if it is a Sparse Matrix