快速幂的基本概念
来源:互联网 发布:天猫跟淘宝哪个好 编辑:程序博客网 时间:2024/06/05 04:23
今天,我又回忆起了“麦森数”这道题,想起了快速幂。
代码:
long long fast_pow(long long a,long long b,long long p){//a、b表示a的b次方,并且模plong long ans=1; //ans为答案while(b){ if(b&1) ans=ans*a%p;//若b当前最右位为1 a=a*a%p; b>>=1;//b向右移一位}return ans;}(a^1)^2=a^2,(a^2)^2=a^4……,也就是说对于a^(2^k),我们都可以经过k次相乘得
到,我们应尽量将a^b分解成这样累乘的形式,即将b分解成2^k相加的形式。要将b分解
成2^k相加的形式,我们可以将b转换成二进制来完成,比如13=1+4+8=00001101,
二进制下的1的位置就是分解后各项2^k的k。
0 0
- 快速幂的基本概念
- Orchard基本概念快速理解
- php快速入门基本概念
- Orchard基本概念快速理解
- Spark基本概念快速入门
- Spark基本概念快速入门
- 快速入手openlayers-基本概念理解
- 快速入门系列零:玛德界面库的来由、窗口、皮肤、项目管理等基本概念
- Oracle GoldenGate快速入门教程:基本概念和配置
- Oracle GoldenGate快速入门教程:基本概念和配置
- 快速入门系列--CLR--01基本概念
- Kafka基本概念介绍及快速上手资料
- 基本概念的澄清
- 一、ATM的基本概念
- J2ME的基本概念
- web services的基本概念
- 几何网络的基本概念
- OSWorkflow的基本概念[原]
- 探讨LoadRunner的并发用户和集合点
- 黑马程序员—OC语言小知识点及示例
- 校验码检验
- Mysql INNODB 和 MYISAM 选择
- 源代码制作成RPM包
- 快速幂的基本概念
- 远程调试hadoop各组件
- static_cast转换类型输出
- Linux的硬链接和软连接(符号连接)
- google guava io
- hdu Beauty of Sequence (好题_集合问题)
- DOM编程--属性操作
- C语言的谜题
- 数据结构之线性表