如何记忆快速幂函数模板

每日分享:

要相信,所有的不美好都是为了迎接美好,所有的困难都会为努力让道。

1. 作用

快速幂函数是处理像 a^b%c 这类式子,当a^b特别大的时候,计算它的值就非常浪费时间和空间。

2. 如何记忆

2.1 首先知道如何计算 a^b

举个例子:计算3^10

3^10 = 9^5

9^5 = 9*81^2

81^2 = 6561^1

所以 3^10 可以拆分成 9*6561^1

通过上面的拆分计算,可以减少循环的次数,降低时间复杂度(暴力计算 3^10 需要循环10次)

代码实现:

typedef long long ll;
// a=3,b=10,先忽略c
ll fast_power(ll a,ll b,ll c)
{
//	定义ans记录结果 
	ll ans=1;
//	指数为0时停止循环(指数为1时(ans=9,a=6561),会进入if语句中,ans=9*6561计算出来就是想要的结果了,所以说不能把
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值