剑指offer 12. 数值的整数次方
Posted hi3254014978
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指offer 12. 数值的整数次方相关的知识,希望对你有一定的参考价值。
12. 数值的整数次方
题目描述
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
保证base和exponent不同时为0
分析:
0的任何次幂都是0, 非零整数的 0 次幂都是1, 整数的 负数次幂等于 整数的倒数的正数次幂
最后判断指数的 奇 偶,返回不同的值
1 public class Solution { 2 public double Power(double base, int exponent) { 3 // 边界条件 4 if(base == 0) 5 return 0; 6 if(exponent == 0) 7 return 1; 8 if(base == 1) 9 return 1; 10 11 // 如果 指数为负数,将底数取倒数,指数编程整数 12 if(exponent < 0){ 13 base = 1 / base; 14 exponent = exponent * -1; 15 } 16 17 double temp = Power(base, exponent / 2); 18 // 如果指数为奇数 19 if((exponent & 1) == 1){ 20 return base * temp * temp; 21 }else{ // // 如果指数为偶数 22 return temp * temp; 23 } 24 } 25 }
以上是关于剑指offer 12. 数值的整数次方的主要内容,如果未能解决你的问题,请参考以下文章