C# 求N的阶乘-递归深度讲解

static void Main()

{

 Console.WriteLine("P(n) n equal 0:");   

 Console.WriteLine("result:{0}", P(0));   

 Console.WriteLine("P(n) n equal 1:");

 Console.WriteLine("result:{0}", P(1));      

 Console.WriteLine("P(n) n equal 2:");

 Console.WriteLine("result:{0}", P(2));

 Console.WriteLine("P(n) n equal 3:");

 Console.WriteLine("result:{0}", P(3)); 

 Console.WriteLine("P(n) n equal 4:");         

 Console.WriteLine("result:{0}", P(4));

Console.ReadKey();

}   

 private static int P(int n)//n=4,3,2,1,0

        {

            Console.WriteLine("test n values:{0}", n);//4,3,2,1,0,1,2,3,4

            if (n == 0)      

           return 1;   

          else     

            return n * P(n - 1);//4*P(3) 3*P(2) 2*P(1) 1*P(0)

        }

http://C:\Users\lenovo\Desktop\P.jpg

test result:

P(n) n equal 0:
test n values:0
result:1
P(n) n equal 1:
test n values:1
test n values:0
result:1
P(n) n equal 2:
test n values:2
test n values:1
test n values:0
result:2
P(n) n equal 3:
test n values:3
test n values:2
test n values:1
test n values:0
result:6
P(n) n equal 4:
test n values:4
test n values:3
test n values:2
test n values:1
test n values:0
result:24

posted on 2013-11-09 17:43  小马哥~程序之美  阅读(1391)  评论(0编辑  收藏  举报

导航