【剑指offerC++版】数值的整数次方

本文介绍了一种使用递归方式计算浮点数幂的算法,详细解析了正数、负数及特殊情况下(如0次方和1次方)的幂运算实现过程。适用于计算机科学和算法学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

时间限制:1秒 空间限制:32768K 热度指数:314398

题目描述

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

思路:首先思考平时数字的计算次方的方法,对于一个数字的0次方,值是1,一个数字的1次方,是它本身。所以先把这两个特殊的编写出来。其次思考当正数的2次方,是本身乘以本身,其后到3次方,是在2次方的基础上乘以本身,所以想到了递归的方式,对于负数,只是每次乘以数字分之一。

class Solution {
public:
    double Power(double base, int exponent) {
        if(exponent==0)
            return 1;
        if(exponent==1)
            return base;
        double temp;
        if(exponent>1)
        { 
            temp=base*Power(base,exponent-1);
        }
        if(exponent<0)
        {
            temp=(1/base)*Power(base,exponent+1);
            
    
        }
        return temp;
    
    }
};

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值