一周刷完剑指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

posted @ 2020-09-17 17:17  蜘蛛侠不会飞  阅读(99)  评论(0编辑  收藏  举报

俺的博客

https://blog.csdn.net/qq_40587575

俺的公众号