(A^B)%C 快速幂乘 (简单数论)
2012-05-08 12:47
239 查看
#include<iostream> using namespace std; int main() { int a,b,c; while (scanf("%d%d%d",&a,&b,&c)!=EOF&&a!=0&&b!=0&&c!=0) { int k=1; while (b>0) { if(b&1!=0) // 作用1:当 b为奇数,则先单独乘一个a // 作用:当 b=1时,即 已经乘了 b=b/2=1后,将值赋给k k=(k*a)%c; a=(a*a)%c; b>>=1; //a1=a%c 1=2^0 // a2=((a%c)*(a%c))%c 2=2^1 // a3=((a%c*a%c)%c*(a%c*a%c)%c) 4=2^2 //由此,可知 b=b/2 ,每次的 a 的个数为上一次的 2倍 } printf("%d\n",k); } return 0; }
相关文章推荐
- LightOJ - 1282Leading and Trailing (快速幂简单数论求幂数前几位)
- poj1995 简单数论 快速幂 取模
- R编写一个数论中的简单定理
- 最简单的C#快速入门教程
- ZENCART1.5简单和快速的Ajax结帐插件
- HDU 6027 Easy Summation【简单相加||快速幂】
- CODE[VS] 1670 无穷的序列 简单数论
- 如何快速开发简单的javaweb程序
- 基础数论算法(八) 矩阵乘法与线性齐次递推公式的快速求值
- UVa 993 Product of digits(简单数论)
- POJ 1995 快速幂 简单题
- 简单两步快速实现shiro的配置和使用,包含登录验证、角色验证、权限验证以及shiro登录注销流程
- Logstash学习2_logstash简单介绍和快速入门
- 【如何快速的开发一个简单的iOS直播app】(代码篇)
- 配置数据引擎(BDE、SQL Link)的简单方法 /制做快速按钮条的方法/建立临时表的方法
- HDU 2685 I won't tell you this is about number theory (数论 公式 快速幂取模)
- Spring Boot 系列 | 第一篇:快速创建一个简单的应用
- [HDOJ1492]Happy 2004(数论,快速幂,逆元,积性函数)
- 在单元格cell中快速简单创建圆角/圆形的的图片imageView
- simditor简单快速的富文本编辑器