模运算 NOJ 1037
模运算
时间限制(普通/Java) : 1000 MS/ 3000 MS 运行内存限制 : 65536 KByte
总提交 : 1026 测试通过 : 191
总提交 : 1026 测试通过 : 191
题目描述
给定整数a,b,n,要求计算(a^b)mod n
输入
多组数据,每组数据一行,为三个用空格隔开的整数a,b,n
1<=a<=5000,0<=b<=10^8,1<=n<=5000000
输出
每组数据输出一行,为所求值
样例输入
2 3 5
2 2 4
样例输出
3
0
题目来源
NUAA
裸的快速幂,套用模板就行了==
实现代码:
#include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #include<iostream> using namespace std; #define mod 1000000007 long long qpow(long long x,long long y,long long n) { long long now = 1,tmp = x; while(y) { if(y % 2) now = (now * tmp) % n; tmp = (tmp * tmp) % n; y /= 2; } return now; } int main() { long long x,y,n; while(cin >> x >> y>>n){ cout<<qpow(x,y,n)<<endl; } return 0; }
版权声明:本文为博主原创文章,未经博主允许不得转载。
posted on 2015-04-16 14:31 Tob__yuhong 阅读(197) 评论(0) 编辑 收藏 举报