private static int myFactorial(int num)
{
if (num == 0 || num == 1)
{
return 1;
}
else
{
return num * myFactorial(num - 1);
}
我用这个公式求阶乘,可是输入很大的数值时,结果是0,输入很小数时才有结果,这是什么原因?
请问怎么用递归求一个大数的阶乘? C#
{
if (num == 0 || num == 1)
{
return 1;
}
else
{
return num * myFactorial(num - 1);
}
我用这个公式求阶乘,可是输入很大的数值时,结果是0,输入很小数时才有结果,这是什么原因?
请问怎么用递归求一个大数的阶乘? C#
自己找找看~还有很大数值应该用其他算法把
什么算法 我就不懂了
算n!核心问题就是处理进位。乘法的本质是加法运算,基本思想是用复杂对象序列保存每一步的中间值,最后求和的过程。这种计算方式决定了使用递归的方法。
可以参考http://topic.csdn.net/u/20100414/23/bdebe83d-6554-4eec-836d-63b9ed6f07fa.html?10822