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 Deep Learning Essentials - Yusuke Sugomori
Lớp Arrarys trong Java (Arrays Utility Class)
Spring Boot - Thymeleaf
Test a REST API with Java
Predicate trong Java 8
Java Program to Implement EnumMap API
Java Program to Implement Queue using Two Stacks
Filtering and Transforming Collections in Guava
Spring Boot - Twilio
Login For a Spring Web App – Error Handling and Localization
Java Program to Implement Pairing Heap
The Modulo Operator in Java
Intro to the Jackson ObjectMapper
Java Program to implement Array Deque
Tính đa hình (Polymorphism) trong Java
HandlerAdapters in Spring MVC
Java – Write an InputStream to a File
Java Program to Compute Cross Product of Two Vectors
Java Program to Generate All Subsets of a Given Set in the Lexico Graphic Order
Spring Boot - Cloud Configuration Server
Java – Delete a File
Using Java Assertions
Toán tử trong java
Java Program for Douglas-Peucker Algorithm Implementation
Spring Boot - Google OAuth2 Sign-In
Spring Boot - Quick Start
Guide to DelayQueue
A Guide to the finalize Method in Java
Spring MVC and the @ModelAttribute Annotation
Java 9 Stream API Improvements
A Custom Media Type for a Spring REST API
Custom Thread Pools In Java 8 Parallel Streams