给出double底数求int的次方的递归和循环方法

/*
     * base的exponent次方,这里要考虑exponent的正负问题
     * 我们用两种方法来解决,递归和循环
     */
    public static double Power(double base, int exponent) {
        //若指数为负数
        if(exponent < 0)
        {
            double sum = 1/base;
            //指数-2为递归出口
            if(exponent == -2)
            {
                return sum = sum * 1 / base;
            }
            else
            {
                //指数+1递归
                return sum * Power(base,exponent + 1);
            }
        }
        //若指数为0,返回1
        if(exponent == 0)
        {
            return 1;
        }
        else {
            //指数为正的递归
            double sum = base;
            if (exponent == 2) {
                return sum * base;
            } else {
                return sum * Power(base, exponent - 1);
            }
        }
    }

    /*
     * 循环处理
     */
    public static double Power2(double base,int exponent)
    {
        //若指数为0,返回1
        if(exponent == 0)
        {
            return 1;
        }
        //若指数小于0
        if(exponent < 0)
        {
            //base置为倒数
            base = 1 / base;
            double sum = 1;
            for (int i = 0; i < -exponent; i++) {
                sum = sum * base;
            }
            return sum;
        }
        //若指数大于0
        else
        {
            double sum = 1;
            for (int i = 0; i < exponent; i++) {
                sum = sum * base;
            }
            return sum;
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值