3456. Huge Numbers (Large) ECNU

来源:互联网 发布:怎么创建数据库实例 编辑:程序博客网 时间:2024/06/05 21:48

给出n,m,mod; 求解n^(m!)%mod的结果

#include<cstdio>using namespace std;typedef long long LL;LL n,m,mod;/**因在进行快速幂的时候它的平方会超过int的范围;*/LL P(LL n,LL m){    LL ans=1;    while(m)    {        if(m&1) ans=ans*n%mod;        n=n*n%mod;        m>>=1;    }    return ans;}int main (){    int t;    scanf("%d",&t);    for(int cas=1;cas<=t;cas++)    {        scanf("%lld %lld %lld",&n,&m,&mod);        for(int i=1;i<=m;i++)            n=P(n,i)%mod;            n%=mod;            printf("Case #%d: %lld\n",cas,n);    }    return 0;}

原创粉丝点击