Saturday 5 May 2012

UVa 374 Big Mod Solution

#include<iostream>
#include<list>
#include<string>
#include<cstring>
#include<sstream>
#include<cctype>
#include<string.h>
#include<algorithm>
#include<cmath>
#include<stack>
#include<fstream>
#include<cstdlib>
#include<vector>
#include<map>
#include<utility>
#include<iomanip>
#include<queue>
using namespace std;
#define clr(a) memset(a,0,sizeof(a))
#define fill(a,v) memset(a,v,sizeof(a))
#define PB push_back
#define pi acos(-1.0)
#define eps 1e-9

long Bigmod(long b, long p, long m)
{
    if(p==0) return 1;
    if(p%2==0)
    return (Bigmod(b,p/2,m)*Bigmod(b,p/2,m))%m;
    return (Bigmod(b,p-1,m)*(b%m))%m;
}

int main()
{
    long base,pow,mod;
    while(cin>>base>>pow>>mod)
    {
        cout<<Bigmod(base,pow,mod)<<endl;
    }

return 0;
}

No comments:

Post a Comment