Пример #1
0
        static void Main(string[] args)
        {
            Console.WriteLine("***  Тестирование операций длинной арифметики.");
            Console.WriteLine("***      ");
            Console.WriteLine("***  Вычисление факториала n! (n<=65535):");
            Console.WriteLine("***      ");

            ushort n,i;
            bool ok;
            DateTime dt1,dt2;
            long t1,t2;

            n=get_n();
            while(n!=0) {
              Large_kv f=new Large_kv("1");
              dt1=DateTime.Now;
              t1=dt1.Ticks;
              Console.WriteLine("Ждем результат вычиления факториала:");
              for(i=2;i<=n;i++) {
            f=f*i;
              }
              dt2=DateTime.Now;
              t2=dt2.Ticks;
              Console.WriteLine("Время вычисления {0,15} тиков !",(t2-t1));
              string res=f.ToStr();

              Console.WriteLine("{0}! ={1}",n,res);
              Console.WriteLine(" В результате {0} знаков",res.Length);
              n=get_n();
            }
            Console.WriteLine("Закончили вычисления! Нажмите любую клавишу!");
            Console.ReadKey();
        }
Пример #2
0
        static void Main(string[] args)
        {
            Console.WriteLine("***  Тестирование операций длинной арифметики.");
            Console.WriteLine("***      ");
            Console.WriteLine("***  Выполнение программы:");
            Console.WriteLine("***      Large_kv a=new Large_kv(\"1234567890123\");");
            Console.WriteLine("***      Large_kv b=new Large_kv(a);");
            Console.WriteLine("***      Large_kv c=new Large_kv(\"0\");");
            Console.WriteLine("***      for(int i=10000;i>1;i--) {");
            Console.WriteLine("***        c=c+a*b; b=b-1;");
            Console.WriteLine("***      }");
            Console.WriteLine("***      ");

            Large_kv a=new Large_kv("1234567890123");
            Large_kv b=new Large_kv(a);
            Large_kv c=new Large_kv("0");
            DateTime dt1=DateTime.Now,dt2;
            long t1=dt1.Ticks,t2;
            for(int i=10000;i>1;i--) {
              c=c+a*b; b=b-1;
            }
            dt2=DateTime.Now;
            t2=dt2.Ticks;
            Console.WriteLine("{0,15} тиков !",(t2-t1));
            Console.WriteLine("c={0}",c.ToStr());
            Console.WriteLine("Закончили вычисления! Нажмите любую клавишу!");
            Console.ReadKey();
        }
Пример #3
0
        static void Main(string[] args)
        {
            Console.WriteLine("***  Тестирование операций длинной арифметики!");

            Console.WriteLine("*** Тестируем операции сложения и вычитания (a=0 b=0 -конец тестирования!):");
            string s1="",s2="";
            do {
              Console.WriteLine("Введите a:");
              s1=Console.ReadLine();
              Console.WriteLine("Введите b:");
              s2=Console.ReadLine();
              if((s1=="0")&&(s2=="0"))break;
              Large_kv a=new Large_kv(s1),b=new Large_kv(s2),c,d;
              c=a+b;
              d=a-b;
              Console.WriteLine("a+b={0}",c.ToStr());
              Console.WriteLine("a-b={0}",d.ToStr());
            }
            while(true);
            Console.WriteLine("*** Тестируем операцию умножения (a=0 b=0 -конец тестирования!):");
            do {
              Console.WriteLine("Введите a:");
              s1=Console.ReadLine();
              Console.WriteLine("Введите b:");
              s2=Console.ReadLine();
              if((s1=="0")&&(s2=="0")) break;
              Large_kv a=new Large_kv(s1),b=new Large_kv(s2),c,d;
              c=a*b;
              d=a*(b+1);
              Console.WriteLine("a*b    ={0}",c.ToStr());
              Console.WriteLine("a*(b+1)={0}",d.ToStr());
            }
            while(true);
            Console.WriteLine("Закончили вычисления! Нажмите любую клавишу!");
            Console.ReadKey();
        }