Pagini recente » Cod sursa (job #1912204) | Diferente pentru problema/algoritm intre reviziile 80 si 50 | Cod sursa (job #1025279) | Diferente pentru problema/take5 intre reviziile 6 si 3 | Cod sursa (job #517118)
Cod sursa(job #517118)
#include <iostream>
#include <stdio.h>
using namespace std;
#define MOD 1999999973
FILE *fin=fopen("lgput.in","r"),*fout=fopen("lgput.out","w");
unsigned int i,n,p;
unsigned long long rez,valp;
int main()
{
fscanf(fin,"%d %d",&n,&p);
valp=n;
rez=1;
for(i=0; (1<<i)<=p;i++) {
if ( ((1<<i)&p) >0 ) rez=(rez*valp)%MOD;
valp=(valp*valp)%MOD;
}
fprintf(fout,"%lld\n",rez);
fclose(fout);
return 0;
}