"反复平方"——快速计算一个数的平方

“反复平方”可以快速计算出一个数的平方,比方说,计算 a35 ,相当于计算 a34a ,也即 (a17)2a ,也即 (a16a)2a ,…, 最终简化为 ((((a2)2)2)2a)2a ,我们可从中清晰地看到递归的影子

python 实现如下:

def fast_square(a, n):
    if n==1:
        return a
    if n%2==0:
        return fast_square(a, n//2)**2
    return fast_square(a, n-1)*a
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五道口纳什

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值