美文网首页
[陷阱题]求base的exponent次方

[陷阱题]求base的exponent次方

作者: FlyingReganMian | 来源:发表于2018-06-11 22:34 被阅读0次

题目描述

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

注意点:

  1. double类型base的计算:首先将小数点后移到末尾。比如,计算12.3,将12.3转换为123.0
  2. 计算123的k次方后,再按照比例还原该数
  3. 注意k小于0的情况
double Power(double base, int exponent) {
    int count_10 = 0;
    int exponent_flag = 1;
    while(base-(int)base)
    {
        base = base * 10;
        count_10++;
    }
    if(exponent < 0)
    {
        exponent_flag = -1;

    }
    exponent = exponent * exponent_flag;
    int pow1 = pow((int)base,exponent);
    //if(count_10 == 0)

    int m = pow(10,count_10);
    int k = pow(m,exponent);
    double pow2 = (double)pow1/k;
    if(exponent_flag ==  -1)
    {
        pow2 = 1.0/pow2;
    }
    return pow2;
}

相关文章

网友评论

      本文标题:[陷阱题]求base的exponent次方

      本文链接:https://www.haomeiwen.com/subject/ajdqeftx.html