一周刷完剑指offer-12-数值的整数次方

数值的整数次方

1. 题目描述

给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
保证base和exponent不同时为0

2. 示例

简单,无

3. 解题思路

求base的exponent次方

  1. 首先,判断exponent 是否为负数,如果是则标记,并转为正整数
  2. 循环相乘
  3. 判断 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

如果您觉得本文有用,请点个“在看”

image.png

原文地址:https://www.cnblogs.com/junge-mike/p/13686291.html