51nod 1046 A^B Mod C
1046 A^B Mod C 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注 给出3个正整数A B C,求A^B Mod C。 例如,3 5 8,3^5 Mod 8 = 3。 Input 3个正整数A B C,中间用空格分隔。(1 <= A,B,C <= 10^9) Output 输出计算结果 Input示例 3 5 8 Output示例 3 思路:主要考考你会不会快速幂的知识 #include <iostream> using namespace std; typedef long long ll; ll mod_pow(ll x,ll n,ll mod) { ll res=1; while(n>0) { //如果二进制最低位为1,则乘上x^(2^i) if(n&1) { res=res*x%mod; } x=x*x%mod; n>>=1; } return res; } int main() { ll a,b,c; scanf("%lld%lld%lld",&a,&b,&c); printf("%lld\n",mod_pow(a,b,c)); return 0; } 点赞 收藏 分享 文章举报 bryce1010 发布了762 篇原创文章 · 获赞 201 · 访问量 33万+ 他的留言板 关注 来源: oschina 链接: