Pagini recente » Cod sursa (job #902626) | Cod sursa (job #1191923) | Borderou de evaluare (job #2014178) | Cod sursa (job #3165910) | Cod sursa (job #234248)
Cod sursa(job #234248)
#include<stdio.h>
//#include<conio.h>
long long N,P;
const unsigned int mod=1999999973;
unsigned int rezultat;
inline void pregateste()
{
FILE *pin=fopen("lgput.in","r");
fscanf(pin,"%lld",&N);
fscanf(pin,"%lld",&P);
fclose(pin);
}
int PutereMod(long long N,long long P)
{
if(P==1)
return N%mod;
else
{
if(P%2==1)
{
P--;
int aux=PutereMod(N,P/2);
return ((aux%mod)*(aux%mod)*(N%mod))%mod;
}
else
{
int aux=PutereMod(N,P/2);
return ((aux%mod)*(aux%mod))%mod;
}
}
}
inline void rezolva()
{
rezultat=PutereMod(N,P)%mod;
}
inline void incheie()
{FILE *pout=fopen("lgput.out","w");
fprintf(pout,"%ud",rezultat);
fclose(pout);}
int main()
{//clrscr();
//printf("%lld",N);getch();
pregateste();
rezolva();
incheie();
return 0;
}