Ejemplo n.º 1
0
Archivo: r_8.cpp Proyecto: liuq901/code
void work(int m,int n)
{
   void chen(int,int);
   int i,j,x;
   memset(b,0,sizeof(b));
   b[1]=1;
   b[0]=1;
   for (i=1;i<=m;i++)
   {
      x=n-i+1;
      chen(x,i);
   }
}
Ejemplo n.º 2
0
void js(int m,int n)
{
   void chen(int,int);
   int i,x,j;
   for (i=0;i<=201;i++)
      b[i]=0;
   b[1]=1;
   len1=1;
   for (i=1;i<=m;i++)
   {
      x=n-i+1;
      chen(x,i);
   }
}
Ejemplo n.º 3
0
//復号処理
OP decode(OP f,OP s){
  int i,j,k;
  OP r={0},h={0},w,e={0};
  oterm t1,t2;
  vec x={0};
  
  printf("in decode\n");
  r=vx(f,s);
  printpol(o2v(r));
  //   exit(1);
  
  x=chen(r);
  for(i=0;i<T;i++)
    printf("x=%d ",x.x[i]);
  printf("\n");
  //    exit(1);
  w=bibun(x);
  printpol(o2v(w));
  printf("@@@@@@@@@\n");
  
  
  h=ogcd(f,s);
  // exit(1);
  t1=LT(r);
  t2.a=t1.a;
  t2.n=0;
  w=oterml(w,t2);
  printpol(o2v(w));
  printpol(o2v(h));
  printf("%d\n",deg(x)+1);
  //  exit(1);
  for(i=0;i<deg(x)+1;i++){
    e.t[i].a=gf[mlt(fg[trace(h,x.x[i])],oinv(trace(w,x.x[i])))];
    e.t[i].n=x.x[i];
  }
  
  for(i=0;i<T;i++)
    printf("%d ",trace(h,x.x[i]));
  printf("\n");
  for(i=0;i<T;i++)
    printf("%d ",oinv(trace(w,x.x[i])));
  printf("\n");
  
  
  return e;
}