代码:
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);
}