大数

大数运算
 1 using System;
 2 using System.Numerics;
 3 
 4 namespace ConsoleApplication1
 5 {
 6     class Program
 7     {
 8         static void Main(string[] args)
 9         {
10             BigInteger tmp = BigInteger.Zero;
11             System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch();
12             sw.Start();
13             //tmp = Factorial(15100);
14             ForResult(99999);
15             sw.Stop();
16             Console.WriteLine(tmp.ToString().Length.ToString()+"   "+sw.Elapsed.ToString());
17 
18         }
19         
20         /// <summary>
21         /// 使用递归
22         /// </summary>
23         /// <param name="i"></param>
24         /// <returns></returns>
25         public static System.Numerics.BigInteger Factorial(BigInteger i)
26         {
27             if (i < 0)
28             {
29                 return BigInteger.Zero;
30             }
31             else if(0==i)
32             {
33                 return 1;
34             }
35             else
36                 return Factorial(i - 1* i;
37         }
38 
39         public static BigInteger ForResult(BigInteger i)
40         {
41             BigInteger tmp=1;
42             do
43             {
44                 tmp *= i;
45                 i--;
46             }
47             while (i > 0);
48             return tmp;
49         }
50 
51     }
52 }
53 

 

posted @ 2010-04-20 20:40  木由水  阅读(231)  评论(0编辑  收藏  举报