版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sakenc/article/details/87900558
class UsingRecursive
{
//递归就是自己反复利用自己的过程,递归的方法中必有一个结束条件(最底层条件),然后一级一级往上返回值。
static void Main()
{
int intResult;
UsingRecursive myURec = new UsingRecursive();//创建自己的类对象,调用自己里面的方法。
intResult = myURec.DoFactorial(6);//调用递归的方法,
Console.WriteLine("数值6 的阶乘等于{0} (递归)", intResult);//输出显示结果
Console.ReadLine();
}
//数值6 的阶乘等于{0} (递归)
int DoFactorial(int PF)//(PF=6)
{
Console.WriteLine("阶乘:" + PF);//显示“当前”/这次运行的方法的pF参数的值
if (PF == 1)//如果这次pf参数的值等于1
{
Console.WriteLine("此次result变量的值为:" + 1);
return 1;//此次运行的值等于1,上层的运算就会等于1X2=2.
}
int result = DoFactorial(PF - 1) * PF;
Console.WriteLine("数值:" + PF);//和上面是一模一样的代码 //务必将这行代码取消注释,运行看结果
Console.WriteLine("阶乘等于" + result);//返回此次运行根据当前的参数值的结果的值
return result;
}
}