c语言 用迭代 求x的n次方 吧

要迭代iterasive的算法我会去测时间的请不要再给我提供递归和最普通的算法了我只要迭代的... 要迭代iterasive的算法
我会去测时间的
请不要再给我提供递归和最普通的算法了 我只要迭代的
展开
 我来答
huang1196
2008-09-08 · TA获得超过1469个赞
知道小有建树答主
回答量:472
采纳率:0%
帮助的人:630万
展开全部
b^n = (b ^ (n / 2) ^ 2) (n为偶数)
b^n = b * b ^ (n - 1) (n为奇数)

恩,也不难
给个思路
初始res=m, 幂数x=1;
每次平方,x+=x;
找到小于n的最大x
对于剩下的n-x,运用同样的方法(注意写成函数,此方法非递归实现,复杂度Lgn)
小猪叁儿
2008-09-08 · TA获得超过800个赞
知道小有建树答主
回答量:549
采纳率:0%
帮助的人:689万
展开全部
double nExponent(double x, int n){
int iter = 1;
while(n != 0){
iter = iter*x;
n --;
}
return iter;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kongfu1123
2008-09-08 · 超过21用户采纳过TA的回答
知道答主
回答量:89
采纳率:0%
帮助的人:65万
展开全部
int diedai(double ,int );
int main()
{
int a=4;
double b=2;
double c;
c=diedai(b,a);
printf("result is : %d \n",c);
system("PAUSE");
return c;
}

int diedai(double x, int n)
{

int i;
double y;
i=n;
y=x;
if(i==0)
diedai(y,i)=1;
else
diedai(y,i)=y * diedai(y,i-1);
return int(diedai(y,i));
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式