Example #1
0
        public cpolinom Inv3Polinom(cpolinom n)
        {
            cpolinom a = new cpolinom("1", n.mod);
            cpolinom b = Copy(this);
            cpolinom v = new cpolinom("0", n.mod);
            cpolinom p = Copy(n);
            int d = -1;

            p = new cpolinom("1 0 0 1 1", 2);
            a = new cpolinom("1 1 0 1", 2);
            b = new cpolinom("1 1 1", 2);

            StreamWriter sw = new StreamWriter("1234.txt");

            while (a.isZero() == false && p.isOne() == false)
            {
                sw.WriteLine(d + "|" + b.ToString() + "|" + p.ToString() + "|" + a.ToString() + "|" + v.ToString());
                if(b[b.Count - 1] == 1)
                {
                      if(d < 0)
                      {
                          b = b + p;
                          p = b - p;
                          a = a + v;
                          v = a - v;
                          d = -d;
                      }
                      else
                      {
                          b = b + p;
                          a = v + a;
                      }
                }
                b = b / (new cpolinom("1 0", n.mod));
                a = a / (new cpolinom("1 0", n.mod));
                d = d - 1;
            }
            sw.Close();
            return v;    

        }