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 Implement Aho-Corasick Algorithm for String Matching
Spring Data Java 8 Support
Zipping Collections in Java
Java Program to subtract two large numbers using Linked Lists
JUnit 5 @Test Annotation
Java Program to Implement Brent Cycle Algorithm
Java Program to Implement the linear congruential generator for Pseudo Random Number Generation
wait() and notify() Methods in Java
Custom Cascading in Spring Data MongoDB
Hướng dẫn sử dụng Java Reflection
Java Program to Implement Find all Forward Edges in a Graph
Jackson Date
Java Program to Implement an Algorithm to Find the Global min Cut in a Graph
Hướng dẫn Java Design Pattern – Chain of Responsibility
Java Program to Implement TreeSet API
Guide to java.util.Formatter
Java – Byte Array to Reader
Spring Webflux with Kotlin
Java Program to implement Associate Array
Java Program to Implement Flood Fill Algorithm
Java Program to Find Nearest Neighbor for Static Data Set
Logout in an OAuth Secured Application
Programmatic Transaction Management in Spring
Java Program to Implement Sieve Of Atkin
Mệnh đề if-else trong java
Java – Write an InputStream to a File
Testing an OAuth Secured API with Spring MVC
Iterable to Stream in Java
Hướng dẫn sử dụng Lớp FilePermission trong java
Jackson Unmarshalling JSON with Unknown Properties
Java Program to Implement Bresenham Line Algorithm
Quick Guide to java.lang.System