9.快速幂优化版重难点剖析
用于高指数运算求余等
- 迭代法:
#include <bits/stdc++.h>
using namespace std;
long long fast(long long di, long long zhi,long long yushu) //填写底数 指数 约数
{ long long result=1;
while(zhi>0)
{
if(zhi&1) result=result*di%yushu; //&位运算符 判断是否是奇数
zhi>>=1; // 右移 相当于 除2
di=di*di%yushu;
}
return result;
}
int main()
{
cout fast(99999,999999,12345) //表示99999的999999次方对12345取余
return 0;
}