Pagini recente » Teoria jocurilor: numerele Sprague Grundy | Cod sursa (job #2837048) | Cod sursa (job #2538830) | Cod sursa (job #2386676) | Cod sursa (job #504552)
Cod sursa(job #504552)
#include<stdio.h>
#include<math.h>
unsigned long int sqr(unsigned long int nr)
{
return nr*nr;
}
unsigned long int lgput(int N,int p)
{
if (p==0) return 1;
if (p<0) return 1/lgput(N,-p);
if (p%2) return N*sqr(lgput(N,(p-1)/2));
return sqr(lgput(N,p/2));
}
int main()
{
int N,p,mod=1999999973;
freopen("lgput.in","r",stdin);
freopen("lgput.out","w",stdout);
scanf("%d%d",&N,&p);
printf("%lu",lgput(N,p)%mod);
return 0;
}