关闭

Pow(x, n)

391人阅读 评论(0) 收藏 举报
分类:

Implement pow(xn).

//此题思路,第一种最简单的迭代,第二种基本的递归,第三种,分治法。

// x^n = x^(n/2)*x^(n/2)*x(n%2)  

//再者本题注意的细节,x=0,n=0,n负数等

double pow(double x, int n) {
        
    double temp;
    if(x == 0)return 0;
    if(n==0)return 1;
    
	if (n==1)
	{
		return x;
	}
	if(n == -1)
	{
	    return 1/x;
	}
	if (n%2 == 0)//偶数
	{
		temp = pow(x,n/2);
		return temp*temp;
	}
	else
	{
		temp = pow(x,n/2);
		if(n>0)
		return temp*temp*x;
		else
		return temp*temp*1/x;
	}
    }




0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:82815次
    • 积分:2106
    • 等级:
    • 排名:第18822名
    • 原创:132篇
    • 转载:37篇
    • 译文:0篇
    • 评论:0条
    文章分类