剑指offer-指数幂

来源:互联网 发布:网络音柱功能 编辑:程序博客网 时间:2024/04/30 15:31

一、问题描述

给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。

二、思路

注意考虑边界情况,如指数幂的正负号以及底数为0的情况。

三、代码

class Solution {public:    double Power(double base, int exponent) {    double result = 1.0;        if(base == 0) return 0;        bool flag = true;        if(exponent == 0) return 1;        else if(exponent < 0){            exponent = -exponent;            flag = false;        }        while(exponent != 0){            if(exponent % 2 != 0)                result = result * base;            base *= base;            exponent /= 2;        }        if(flag == false)            return 1 / result;        return result;    }};


0 0
原创粉丝点击