NEUOJ 1391: Big Big Power(费马小定理&快速幂)
来源:互联网 发布:传奇霸业翅膀进阶数据 编辑:程序博客网 时间:2024/06/08 06:56
费马小定理是数论中的一个重要定理,其内容为: 假如p是质数,且(a,p)=1,那么 a^(p-1) ≡1(mod p)。即:假如a是整数,p是质数,且a,p互质,那么a的(p-1)次方除以p的余数恒等于1。稍微变化一下就是(a^b)%p=a^[b%(p-1)]%p。
本题计算a^(b^c)%(1e9+7)先把(b^c)看成整体应用费马小定理有,a^[(b^c)%(1e9+7-1)]=[a^(b^c)]%(1e9+7),然后直接快速幂取模就可以啦!
1391: Big Big Power
时间限制: 1 Sec 内存限制: 256 MB提交: 168 解决: 25
[提交][状态][讨论版]
题目描述
Calculate the power num a^(b^c) mod 1e9+7
输入
Multiple test cases,each case has three integers a,b and c . a,b,c is less than 1e9;
输出
Output the answer in each line
样例输入
2 3 2
样例输出
512
代码如下:
#include <stdio.h>#define Mod 1000000007int exp(int a,int b,int mod){ int ans=1,base=a; while(b) { if(b&1)ans=((long long)ans*base)%mod; base=((long long)base*base)%mod; b>>=1; } return ans;}int main(){ //freopen("input.txt","r",stdin); int a,b,c; while(~scanf("%d%d%d",&a,&b,&c)) { int n=exp(b,c,Mod-1); printf("%d\n",exp(a,n,Mod)); } return 0;}
0 0
- NEUOJ 1391: Big Big Power(费马小定理&快速幂)
- NEU 1391 Big Big Power ---快速幂
- 东大OJ-1391-Big big Power
- big
- uva 374 - Big Mod(整数快速幂)
- Big vs Big(链表)
- HDU3046——Pleasant sheep and big big wolf(最小割最大流定理)
- 杭电1212Big Number(同余定理)
- HDOJ 1212 Big Number(同余定理)
- HDU1212 Big Number 【同余定理】
- HDU 1212 Big Number(同余定理)
- hdoj 1212 Big Number 【同余定理】
- HDOJ 1212 Big Number【同余定理】
- Big Number(阶乘)
- Big Number(1018)
- (UVA)Big Chocolate
- Big Number(1212)
- HDU1018(Big Number)
- 最少拦截系统(dp)
- Windows核心编程——》空指针赋值分区
- ubuntu的ap设置
- 背包问题2(完全背包)
- oracle mysql sqlserver 查看当前所有数据库及数据库基本操作命令
- NEUOJ 1391: Big Big Power(费马小定理&快速幂)
- C++中的异常处理
- iOS开发之iOS程序偏好设置(Settings Bundle)的使用
- hdu1009FatMouse' Trade
- 解决#include "cocos-ext.h"以及CCScale9Sprite等不能使用
- boost linux & windows plostform Install
- 逗号操作符
- memset函数详细说明
- Python文件夹与文件的操作