一、引言
快速幂是一种快速进行幂运算的算法,顾名思义,快速幂就是快速算底数的n次幂,时间复杂度
变为了(
n),比O(n)要快不少.
二、原理
所以,快速幂变快的原理是什么?
众所周知,任何一个正整数都可以用不同的二进制数来表示,而二进制中每一位的前一位都是该位的两倍,则我们可以减少运算次数。
例如:要计算
2^10,10在二进制中为“1010”
则我们可以用2*2算出2^2接着用(2^2)*(2^2)算出2^4
接着用(2^4)*(2^4)算出2^8
最后将2^8与2^2相乘,即可得出2^10
三、代码
因为幂算完后值往往会很大,所以题经常会让模上一个很大的质数,类似于1e9+7这种
模版题题目如下:
题目描述
给你三个整数a,b,p 求
a^b mod p=s.输入格式
输入只有一行三个整数,分别代表
a,b,p.输出

快速幂是一种高效的幂运算算法,通过二进制表示法减少运算次数。原理是将指数分解为二进制形式,逐步计算底数的平方并取模。文章详细介绍了快速幂的原理,并提供了C++代码模板,适用于解决需要大数模幂运算的问题。
最低0.47元/天 解锁文章
1131





