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:
Java Program to Optimize Wire Length in Electrical Circuit
Java Program to Compute Determinant of a Matrix
Function trong Java 8
A Guide to JUnit 5 Extensions
Understanding Memory Leaks in Java
HttpClient 4 – Send Custom Cookie
Java Program to Sort an Array of 10 Elements Using Heap Sort Algorithm
Java Program to Implement Trie
Introduction to Spring MVC HandlerInterceptor
Sử dụng CountDownLatch trong Java
Java Program to Show the Duality Transformation of Line and Point
Guide to Spring 5 WebFlux
Java Program to Implement Merge Sort on n Numbers Without tail-recursion
Biểu thức Lambda trong Java 8 – Lambda Expressions
How to Get a Name of a Method Being Executed?
Converting Between Byte Arrays and Hexadecimal Strings in Java
Spring Boot - Quick Start
Java Program to Perform Insertion in a 2 Dimension K-D Tree
Exploring the Spring 5 WebFlux URL Matching
Hướng dẫn Java Design Pattern – Flyweight
Predicate trong Java 8
Java Program to Implement Floyd-Warshall Algorithm
Checked and Unchecked Exceptions in Java
Java Program to Implement the Hill Cypher
Java Program to Implement LinkedBlockingQueue API
Intro to the Jackson ObjectMapper
Guide to BufferedReader
Guide To CompletableFuture
Hướng dẫn sử dụng Lớp FilePermission trong java
Marker Interface trong Java
Giới thiệu HATEOAS
Circular Dependencies in Spring