快速幂 (C++)
2024-09-07 05:34:04
typedef long long LL;
using namespace std; //求a^b%m,递归写法
LL binaryPow(LL a,LL b,LL m){
if(b==){ //如果b为0,那么a^0=1
return ;
}
else if(b%2==){ //b为奇数,转换为b-1
return a*binaryPow(a,b-,m)%m;
}
else{ //b为偶数,转换为b/2
LL mul=binaryPow(a,b/,m);
return LL*LL%m;
} }
注:上述代码中,条件if(b%2==1)可以用if(b&1)代替,这是因为b&1进行位操作,判断b的末位是否为1.;这样执行速度会快一点
最新文章
- weak和nonull
- jQuery浏览器类型判断和分辨率判断
- opencv 比较直方图方式 进行人脸检测对比
- Fiddler环境配置教程
- git新建仓库
- Sprint第三个冲刺(第三天)
- Android PickerView滚动选择器的使用方法
- 单选项框RadioGroup的综合应用
- hdu4267 A Simple Problem with Integers
- 杭州电ACM1098——Ignatius&;#39;s puzzle
- 使用秘钥连接ssh
- nodejs爬虫初试---superagent和cheerio
- ActiveMQ系列之三:理解和掌握JMS
- 简述ADO中如何使用参数化的命令对象以及增删改查,存储过程的操作
- 更改redhat7 yum源为centos
- java动态代理--一个简单的例子
- 有关PHP 10条有用的建议--转(柒捌玖零)
- visual studio 2005提示脚本错误 /VC/VCWizards/2052/Common.js
- (6)Oracle基础--简单查询
- Linux下安装 mongodb
热门文章
- Skill 脚本演示 ycChangeViaNumber.il
- luogu P1973 [NOI2011]NOI 嘉年华 dp
- P4491 [HAOI2018]染色 广义容斥 NTT 生成函数
- Asp.Net项目发布 到 IIS、 Core3.1 发布到 IIS CentOS8.x
- 详解Flask上下文
- day4. 运算符
- 006_go语言中的互斥锁的作用练习与思考
- Pytorch_第八篇_深度学习 (DeepLearning) 基础 [4]---欠拟合、过拟合与正则化
- Libsvm java工程实践
- IOS - ACL (访问控制列表)