Pagini recente » Cod sursa (job #3329811) | Monitorul de evaluare | Cod sursa (job #1253714) | Cod sursa (job #668111) | Cod sursa (job #3357812)
#include <stdio.h>
unsigned long long putere(unsigned long long baza, unsigned long long exponent, unsigned long long mod){
unsigned long long rezultat=1;
baza=baza%mod;
while(exponent>0){
if(exponent%2==1){
rezultat=(rezultat*baza)%mod;
}
baza=(baza*baza)%mod;
exponent=exponent/2;
}
return rezultat;
}
int main(){
FILE *fin=fopen("lgput.in","r");
FILE *fout=fopen("lgput.out","w");
unsigned long long N,P;
fscanf(fin,"%llu %llu",&N,&P);
const unsigned long long MOD=1999999973ULL;
unsigned long long rezultat=putere(N,P,MOD);
fprintf(fout,"%llu\n",rezultat);
fclose(fin);
fclose(fout);
return 0;
}