//计算:f(n)=1/1!+1/2!+1/3!+...+1/n!
//主函数
static double GetEFun(long N)
{
if (N <= 0) throw new Exception("不能输入小于等于0的数.");
if (N == 1) return 1d;
long Jc = ReturnJC(N);
double tempV = 1d / Jc;
return tempV + GetEFun(N - 1);
}
//获取阶乘数
static long ReturnJC(long N)
{
long tmpN = 1;
long i = 2;
while (i <= N)
{
tmpN *= i;
i++;
}
return tmpN;
}一个很常用的E-1递归,总感觉不够美观,想看看各位是怎么处理的?学习学习...
//主函数
static double GetEFun(long N)
{
if (N <= 0) throw new Exception("不能输入小于等于0的数.");
if (N == 1) return 1d;
long Jc = ReturnJC(N);
double tempV = 1d / Jc;
return tempV + GetEFun(N - 1);
}
//获取阶乘数
static long ReturnJC(long N)
{
long tmpN = 1;
long i = 2;
while (i <= N)
{
tmpN *= i;
i++;
}
return tmpN;
}一个很常用的E-1递归,总感觉不够美观,想看看各位是怎么处理的?学习学习...
太简单了,木有人有兴趣。。
好吧 我给LZ顶下贴。