首页 > 其他 > 详细

NEUOJ 1391: Big Big Power(费马小定理&快速幂)

时间:2014-04-06 23:12:31      阅读:603      评论:0      收藏:0      [点我收藏+]

费马小定理数论中的一个重要定理,其内容为: 假如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 1000000007
int 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;
}


NEUOJ 1391: Big Big Power(费马小定理&快速幂),布布扣,bubuko.com

NEUOJ 1391: Big Big Power(费马小定理&快速幂)

原文:http://blog.csdn.net/acvcla/article/details/23036297

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!