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 Perform Partial Key Search in a K-D Tree
Introduction to Spring MVC HandlerInterceptor
Java Program to implement Associate Array
Java Program to Implement LinkedHashMap API
Iterating over Enum Values in Java
Java Program to Create the Prufer Code for a Tree
Java Program to Implement Treap
Java Program to Compute Cross Product of Two Vectors
Checking for Empty or Blank Strings in Java
Tránh lỗi ConcurrentModificationException trong Java như thế nào?
Comparing Strings in Java
Java Program to Implement TreeMap API
Guide to BufferedReader
Java – InputStream to Reader
Java Program to Find a Good Feedback Vertex Set
Java Program to Implement the MD5 Algorithm
HTTP Authentification and CGI/Servlet
TreeSet và sử dụng Comparable, Comparator trong java
Java Program to Solve a Matching Problem for a Given Specific Case
Giới thiệu HATEOAS
Using Spring ResponseEntity to Manipulate the HTTP Response
New Features in Java 8
Spring Security Authentication Provider
Get and Post Lists of Objects with RestTemplate
Spring Data JPA @Modifying Annotation
Constructor Dependency Injection in Spring
Updating your Password
Java Program to Implement Fermat Factorization Algorithm
Java Program to Implement Self organizing List
Vòng lặp for, while, do-while trong Java
Returning Image/Media Data with Spring MVC
Hướng dẫn sử dụng String Format trong Java