Java中的Euler准则

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