c++的一个问题
doublefun(doublea,intn){doublesum1=1;if(n==0)sum1=1;if(n==1)sum1=a;elseif(n>1)sum1=fu...
double fun(double a, int n)
{
double sum1 = 1;
if (n == 0)
sum1=1;
if (n == 1)
sum1 = a;
else if (n > 1)
sum1 = fun(a, n - 1) * a;
else
sum1 = 1 / fun(a, -n);
return sum1;
}
我想请问一下这个fun函数到底是什么
fun(a, n - 1) * a 难道这样就是 fun的意思就是sum1=a*a n=n-1?
是怎么理解这样的 求解释 展开
{
double sum1 = 1;
if (n == 0)
sum1=1;
if (n == 1)
sum1 = a;
else if (n > 1)
sum1 = fun(a, n - 1) * a;
else
sum1 = 1 / fun(a, -n);
return sum1;
}
我想请问一下这个fun函数到底是什么
fun(a, n - 1) * a 难道这样就是 fun的意思就是sum1=a*a n=n-1?
是怎么理解这样的 求解释 展开
展开全部
sum1 = fun(a, n - 1) * a=sum1 = fun(a, n - 2) * a*a=sum1 = fun(a, n - 3) * a*a*a一直递归到sum1 = fun(a, 1) * a*a*a*a…a,然后再逐层往上计算最终把sum求出来,所以其时间和空间消耗特别大
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
递归函数,这类函数具体的运行情况可以一步步考虑,就当自己是电脑一步步分析
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询