码迷,mamicode.com
首页 > 其他好文 > 详细

Marshal's Confusion III(快速幂)

时间:2015-11-24 22:05:39      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:

Marshal‘s Confusion III
Time Limit: 3000 MS Memory Limit: 65536 K
Total Submit: 236(62 users) Total Accepted: 74(51 users) Rating: 技术分享技术分享技术分享 Special Judge: No
Description
Marshallike to solve acm problems.But they are very busy, one day they meet a problem. Given three intergers a,b,c, the task is to compute a^(b^c))%317000011. so the turn to you for help. 
Input
The first line contains an integer T which stands for the number of test cases. Each case consists of three integer a, b, c seperated by a space in a single line. 1 <= a,b,c <= 100000
Output
For each case, print a^(b^c)%317000011 in a single line.
Sample Input
2 1 1 1 2 2 2
Sample Output

1 16

Author

 

#include<cstdio>
#include<cmath>
#include<queue>
#include<iostream>
using namespace std;
const long m=317000011;
long ksm(long x,long y,int m)//x^y
{
    long sum=x;
    long res=1;
    while(y>0)
    {
        if(y%2==1)
        {
            res=(res*sum)%m;
        }
        sum=(sum*sum)%m;
        y/=2;
        //cout<<y<<endl;
    }
    return res;
}
int main()
{
    int T;
    long a,b,c;
    while(~scanf("%d",&T))
    {
        while(T--)
        {
            scanf("%ld%ld%ld",&a,&b,&c);
            long ss=ksm(a,ksm(b,c,m),m);
            ss%=m;
            printf("%ld\n",ss);
        }
    }
//    cout<<ksm(2,1)<<endl;
}

 

Marshal's Confusion III(快速幂)

标签:

原文地址:http://www.cnblogs.com/beige1315402725/p/4993006.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!