Jan 22, 2025 Jacobi Symbol
Implement the algorithm to compute Jacobi's Symbol in Java. Source Code
import java.util.Scanner;
public class JacobiSymbol {
public static int jacobiSymbol(int a, int p) {
if (p <= 2 || p % 2 == 0) {
throw new IllegalArgumentException("p must be an odd prime.");
}
int result = 1;
a = a % p;
while (a != 0) {
while (a % 2 == 0) {
a /= 2;
int k = p % 8;
if (k == 3 || k == 5) {
result = -result;
}
}
int temp = a;
a = p;
p = temp;
if (a % 4 == 3 && p % 4 == 3) {
result = -result;
}
a = a % p;
}
if (p == 1) {
return result;
} else {
return 0;
}
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter (a): ");
int a = scanner.nextInt();
System.out.print("Enter (p): ");
int p = scanner.nextInt();
int result = jacobiSymbol(a, p);
System.out.println("Result of J(a/p): " + result);
scanner.close();
}
}