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 8 StringJoiner
Kết hợp Java Reflection và Java Annotations
OAuth2 for a Spring REST API – Handle the Refresh Token in AngularJS
Java Program to Generate a Graph for a Given Fixed Degree Sequence
Java Program to Implement Stein GCD Algorithm
A Guide to JPA with Spring
Guide to UUID in Java
Form Validation with AngularJS and Spring MVC
Spring Boot - Exception Handling
How to Remove the Last Character of a String?
A Guide to ConcurrentMap
Introduction to Using FreeMarker in Spring MVC
Java Program to Implement the Hill Cypher
Java Program to Implement the Bin Packing Algorithm
Lập trình hướng đối tượng (OOPs) trong java
A Guide to EnumMap
Java Program to Implement Graham Scan Algorithm to Find the Convex Hull
Overview of Spring Boot Dev Tools
Using JWT with Spring Security OAuth
Java 8 Collectors toMap
Introduction to the Java ArrayDeque
Convert String to int or Integer in Java
Java Program to Implement Graph Coloring Algorithm
Java Program to Use the Bellman-Ford Algorithm to Find the Shortest Path
The StackOverflowError in Java
Spring 5 Testing with @EnabledIf Annotation
RestTemplate Post Request with JSON
Assertions in JUnit 4 and JUnit 5
Command-Line Arguments in Java
File Upload with Spring MVC
Java Program to Implement the Hungarian Algorithm for Bipartite Matching
How to Iterate Over a Stream With Indices