#leetcode刷题之路50-Pow(x, n)

实现 pow(x, n) ,即计算 x 的 n 次幂函数。
示例 1:
输入: 2.00000, 10
输出: 1024.00000
示例 2:
输入: 2.10000, 3
输出: 9.26100

 

#include <iostream>
double myPow(double x, int n)
{
    double ans=1.00000 ;
    for(int i=n;i!=0;i/=2)
    {
        if(i%2!= 0 ) ans*= x;//最后一次
        x*=x;//可以平方就平方,这样可以减少计算次数
    }
    return n<0?1/ans:ans;
}

int main() {
    std::cout << myPow(2.00000, 10) << std::endl;
    return 0;
}

 

posted @ 2019-04-09 13:12  maitianpt  阅读(236)  评论(0编辑  收藏  举报