Cod sursa(job #239945)
Utilizator | Data | 6 ianuarie 2009 14:31:16 | |
---|---|---|---|
Problema | A+B | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.47 kb |
#include <stdio.h>
# define n 1999999973
long long put(long long N, long long P)
{
long long p;
if (P==0) return 1;
else if(P%2==1) return (N*put(N, P-1))%n;
else {
p=put(N,P/2);
return (p*p)%n;;
}
}
int main()
{
long long N,P;
freopen("lgput.in","r",stdin);
freopen("lgput.out","w",stdout);
scanf("%lld %lld",&N,&P);
printf("%lld",put(N,P));
return 0;
}