一周刷完剑指offer-12-数值的整数次方
数值的整数次方
1. 题目描述
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
保证base和exponent不同时为0
2. 示例
简单,无
3. 解题思路
求base的exponent次方
- 首先,判断exponent 是否为负数,如果是则标记,并转为正整数
- 循环相乘
- 判断 exponent 的标记,如果是负数,则取倒数
4. Java实现
public class Solution {
public double Power(double base, int exponent) {
double res = 1.0;
if(base == 0) return 0;
if(exponent == 0) return res;
boolean flag = true;
if(exponent < 0){
flag = false;
exponent = -exponent;
}
for(int i = 0; i< exponent; i++){
res *= base;
}
return flag ? res : 1/ res;
}
}
5. Python实现
# -*- coding:utf-8 -*-
class Solution:
def Power(self, base, exponent):
# write code here
# 可以不用转换 base 为正整数
res = 1.0
flag = True
if base == 0:
return 0
if exponent == 0:
return 1
if exponent < 0:
flag = False
exponent = -exponent
for i in range(exponent):
res *= base
return res if flag else 1/res
如果您觉得本文有用,请点个“在看”