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(); }
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(); }
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(); }