代码:
Int jacobi(int a, int n) { if (n%2==0) throw "Undefined"; if (a>=n) a=a%n;// property 2 int ***=***(a,b); if (a==***) return 0; else if (***!=0) return jacobi(***,n) * jacobi(a/***,n); // property 3 if (a<0) // property 3,4 if (n%4==1) return jacobi(-a,n); else return -jacobi(-a,n); while (a%2==0) //property 3,5 if (n%8==1||n%8==-1) return jacobi(a/2,n); else return -jacobi(a/2,n); if (((a-1)*(m-1)/4)%2==0) // Property 6 return jacobi(n,a); else return -jacobi(n,a); }