根据欧拉准则,当且仅当存在数字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下的数字的根存在