Cod sursa(job #1508336)

Utilizator OlivianOlivian Dan Cretu Olivian Data 22 octombrie 2015 15:07:26
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#include<cstdio>
using namespace std;
const unsigned MOD=1999999973;
unsigned n,p,ans;
unsigned power(unsigned long long a,unsigned b)
{
    unsigned sol=1;
    for(;b;b>>=1)
    {
    if(b&1)   sol=(sol*a)%MOD;
    a=(a*a)%MOD;
    }
    return sol;
}
int main()
{
    freopen("lgput.in","r",stdin);
    freopen("lgput.out","w",stdout);
    scanf("%d %d",&n,&p);
    ans=power(n,p);
    printf("%d\n",ans);
}