美文网首页
剑指offer 数值的整数次方 Python and C++

剑指offer 数值的整数次方 Python and C++

作者: GhostintheCode | 来源:发表于2020-01-21 12:36 被阅读0次

    题目描述

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

    保证base和exponent不同时为0

    思路

    可能不需要思路,干就完事

    做题可能出现的问题

    注意返回值,考虑base和exponent分别等于0的时候。

    python

    # -*- coding:utf-8 -*-
    class Solution:
        def Power(self, base, exponent):
            # write code here
            if base == 0:
                return 0
            if exponent == 0:
                return 1
            temp = 1
            if exponent<0:
                abs_exponent = -exponent
                while abs_exponent:
                    temp *= base
                    abs_exponent -= 1
                return 1/temp
            else:
                while exponent:
                    temp *= base
                    exponent -= 1
                return temp
    

    C++

    class Solution {
    public:
        double Power(double base, int exponent) {
            float res=1;
            if(base==0 & exponent<=0)
                return 0;
            if(exponent<0)
            {
                res = 1;
                for(int i=1;i<=-exponent;i++)
                    res *= base; 
                    res=1/res;
                //res= pow(base,exponent); // pow,c++中的指数函数
                // res=1/res;
                return res;
            }
            if(exponent>=0)
            {
                res = 1;
                //for(int i=1;i<=exponent;i++)
                  //  res *= base;
                res= pow(base,exponent); // pow,c++中的指数函数
                return res;
            }
        }
    };
    

    相关文章

      网友评论

          本文标题:剑指offer 数值的整数次方 Python and C++

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