根据欧拉准则,当且仅当存在数字num 使得num%p等于n%p时,模p下的n的平方根才存在。
import java.util.Scanner;
public class EulersCriterion {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
System.out.println("输入n值:");
int n = sc.nextInt();
System.out.println("输入p值:");
int p = sc.nextInt();
n = n % p;
int flag = 0;
for (int num = 2; num < p; num++) {
if ((num * num) % p == n) {
flag = 1;
}
}
if(flag==1) {
System.out.println("模p下的数字的根存在 ");
} else {
System.out.println("模p下的数字的根不存在 ");
}
}
}输出结果
输入n值: 2 输入p值: 7 模p下的数字的根存在