Pagini recente » Cod sursa (job #22759) | Cod sursa (job #1115928) | Cod sursa (job #2631374) | Cod sursa (job #1722115) | Cod sursa (job #235445)
Cod sursa(job #235445)
#include<stdio.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--;
long long aux=PutereMod(N,P/2);
return ((((aux%mod)*(aux%mod))%mod)*(N%mod))%mod;
}
else
{
long long 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,"%d",rezultat);
fclose(pout);}
int main()
{
pregateste();
rezolva();
incheie();
return 0;
}