Cod sursa(job #491219)
Utilizator | Data | 10 octombrie 2010 18:56:15 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.38 kb |
#include<cstdio>
#define r 1999999973
void read(),solve();
long long a,b,c,d,x,y,z,t,X,Y,Z,T,A,B,C,D,N,P;
int main()
{
read();
solve();
return 0;
}
void read()
{
freopen("lgput.in","r",stdin);
freopen("lgput.out","w",stdout);
scanf("%lld%lld",&N,&P);
}
void solve()
{
y=1;
a=N;
for(;P;P>>=1)
{
if(P&1){y*=a;y%=r;}
a*=a;a%=r;
}
printf("%lld",y);
}