Pagini recente » Cod sursa (job #744368) | Cod sursa (job #2698039) | Cod sursa (job #1915107) | Cod sursa (job #552688) | Cod sursa (job #1700574)
#include <stdio.h>
#define HUGE 1999999973
int putere(int baza, int exp, int acum) {
long long bazaN, acumN;
if(exp == 0)
return acum;
else {
bazaN = (long long)baza * baza;
bazaN = bazaN % HUGE;
if(exp % 2 == 0)
return putere((int)bazaN, exp / 2, acum);
else {
acumN = (long long)acum * baza;
acumN = acumN % HUGE;
return putere((int)bazaN, exp / 2, (int)acumN);
}
}
}
int main() {
int n, p;
FILE *fin = fopen( "lgput.in" , "r" );
fscanf(fin, "%d%d", &n, &p);
fclose( fin );
FILE *fout = fopen( "lgput.out" , "w" );
fprintf(fout, "%d", putere(n % HUGE, p, 1));
fclose( fout );
return 0;
}