java FindrootInZnZ
x^2+1=0在Z/2Z中有1个根:[1]
x^2+x+1=0在Z/2Z中有0个根:[]
x^2+1=0在Z/5Z中有2个根:[2,3]
x^2+x+1=0在Z/5Z中有0个根:[]
import java.io.*;
import java.util.*;
import java.util.function.Function;
public class FindrootInZnZ{
static int Mod(int ret,int n){
if(ret<0){
int ret1=ret+(-ret+1)*n;
return ret1%n;
}
return ret%n;
}
static Vector Findroot(Function<Integer,Integer> fun,int n){
Vector ret = new Vector();
for(int i=0;i<n;i++){
int newValue=fun.apply(i);
if(Mod(newValue,n)==0){
ret.add(i);
}
}
return ret;
}
st