一、引言
快速幂是一种快速进行幂运算的算法,顾名思义,快速幂就是快速算底数的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
.输出格式</